Re: global object
"Howard M. Lewis Ship" <[email protected]> Sat, 11 Jan 2003 17:49:54 -0500
| Newsgroups | gmane.comp.java.tapestry.contrib |
|---|---|
| Message-ID | <003201c2b9c3$c265fbe0$3dc41e42@howardczkz2sl3> |
It's fairly recent, based on suggestions by Geoff. ----- Original Message ----- From: "Malcolm Edgar" <[email protected]> To: <tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org> Sent: Saturday, January 11, 2003 4:42 PM Subject: Re: [Tapestry-contrib] global object > I never even knew that the extension stuff existed. Yes, it sounds idea for > the job. I think global will be a great place for sticking EJB stuff. > > regards Malcolm > > >From: "Howard M. Lewis Ship" <[email protected]> > >To: "Malcolm Edgar" > ><[email protected]>,<[email protected]> > >Subject: Re: [Tapestry-contrib] global object > >Date: Fri, 10 Jan 2003 06:59:07 -0500 > > > >Yes, but those things could also be done using <extension> beans in the app > >spec and setting the immediate flag on. Then the Global object could exist > >to simplify access to those objects. > > > >Actually, I've been picturing the Global object as the place where you > >stick > >your EJB home and remote interfaces. If you look at the Vlib, it does this > >using variables on the VlibEngine, and includes some retry logic that sets > >them back to null on a RemoteException; this the Vlib is very good at > >riding > >out JBoss restarts (when the Vlib is not running within JBoss). > > > >----- Original Message ----- > >From: "Malcolm Edgar" <[email protected]> > >To: <tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org> > >Sent: Friday, January 10, 2003 3:05 AM > >Subject: Re: [Tapestry-contrib] global object > > > > > > > One advantage of initializing the global in the Servlet.init() is that > >it > >is > > > done when the servlet is loaded, this may be an advantage in > >instantiating > > > heavy weight or time consuming global objects (e.g. loading a > >database/LDAP > > > cache or setting a connection pool) rather than doing initializing when > >the > > > ApplicationServlet/Engine is first hit. > > > > > > regards Malcolm > > > > > > >From: "Malcolm Edgar" <[email protected]> > > > >To: [email protected], [email protected] > > > >Subject: Re: [Tapestry-contrib] global object > > > >Date: Fri, 10 Jan 2003 15:56:53 +0800 > > > > > > > >Hi Howard, > > > > > > > >Yeah I don't mind if you move the global initialization out of > > > >ApplicationServlet into AbstractEngine and have it place it in the > > > >ServletContext, this would remove global code from ApplicationServlet > >and > > > >RequestContext. > > > > > > > >I think I was still thinking in terms of Servlets and initializing > >stuff > >in > > > >init(). > > > > > > > >I think you will need to initialize global in setupForRequest() as it > >has > > > >access to ServletContext. I would make the global servlet context > >attribute > > > >key constant public so that JSP code can reference it. > > > > > > > >Regards Malcolm > > > > > > > >>From: "Howard M. Lewis Ship" <[email protected]> > > > >>To: "Tapestry Contrib" <tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org> > > > >>Subject: [Tapestry-contrib] global object > > > >>Date: Thu, 9 Jan 2003 21:14:06 -0500 > > > >> > > > >>I would like to discuss the global property added to IEngine. > > > >> > > > >>I would like to see the solution fleshed out a little bit. > > > >> > > > >>What I see is that, if there's a particularily named object in the > >servlet > > > >>context, it is accessible from the IEngine. I have to assume the > >intent > > > >>was to override ApplicationServlet.init() to provide Global. This is > >a > > > >>bit different than how many other similar constructs, such as Visit, > >are > > > >>implemented. > > > >> > > > >>I would like to see: > > > >> > > > >>1) An overridable method on AbstractEngine to create the Global. > > > >>2) A default implementation of getGlobal that checks for the Global in > >the > > > >>servlet context and, if not present, creates and stores it into the > > > >>servlet context. > > > >>3) A default implementation of createGlobal() that uses an app-spec > > > >>property to define the name of the class to instantiate (i.e., same > > > >>pattern as Visit). > > > >> > > > >>Basically, Global should be just like Visit, except shared by all > > > >>sessions/engines. > > > >> > > > >>Because creating and storing the Global will not force the creation of > >a > > > >>HttpSession, it should be done from setupForRequest(), like the many > >other > > > >>shared objects (page source, template source, etc.). > > > >> > > > >>I don't see that the Global should be any part of RequestContext. > > > >> > > > >>I like the idea of Global; I'm increasingly enamored of solutions that > > > >>leverage aggregation instead of inheritance. > > > >> > > > >>I can whip my ideas together in a few minutes; I just wanted to see > >what > > > >>Malcolm thinks of the changes. > > > >> > > > >>---- > > > >>Howard Lewis Ship > > > >>[email protected] > > > >>http://tapestry.sf.net > > > >> > > > > > > > > > > > >_________________________________________________________________ > > > >MSN 8 with e-mail virus protection service: 2 months FREE* > > > >http://join.msn.com/?page=features/virus > > > > > > > > > > > > > > > >------------------------------------------------------- > > > >This SF.NET email is sponsored by: > > > >SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > > > >http://www.vasoftware.com > > > >_______________________________________________ > > > >Tapestry-contrib mailing list > > > >Tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > > > >https://lists.sourceforge.net/lists/listinfo/tapestry-contrib > > > > > > > > > _________________________________________________________________ > > > The new MSN 8: smart spam protection and 2 months FREE* > > > http://join.msn.com/?page=features/junkmail > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.NET email is sponsored by: > > > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > > > http://www.vasoftware.com > > > _______________________________________________ > > > Tapestry-contrib mailing list > > > Tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > > > https://lists.sourceforge.net/lists/listinfo/tapestry-contrib > > > > > > > > > > >------------------------------------------------------- > >This SF.NET email is sponsored by: > >SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > >http://www.vasoftware.com > >_______________________________________________ > >Tapestry-contrib mailing list > >Tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > >https://lists.sourceforge.net/lists/listinfo/tapestry-contrib > > > _________________________________________________________________ > MSN 8 helps eliminate e-mail viruses. Get 2 months FREE* > http://join.msn.com/?page=features/virus > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > http://www.vasoftware.com > _______________________________________________ > Tapestry-contrib mailing list > Tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > https://lists.sourceforge.net/lists/listinfo/tapestry-contrib ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com