web.xml configuration for Spring /* The ContextLoaderListener listener should be registered after Log4jConfigListener in web.xml, if the latter is used. */ <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
once thats configured you'll want to use MethodInvokingFactoryBean for FactoryBean which returns a value which is the result of a static or instance method invocation http://static.springsource.org/spring/docs/1.2.x/api/org/springframework/beans/factory/config/MethodInvokingFactoryBean.html as mentioned singleton="true" assures you will load,instantiate and store a cached bean static factory methods: An example (in an XML based bean factory definition) of a bean definition which uses this class to call a STATIC factory method: <bean id="myObject" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="staticMethod"><value>com.whatever.MyClassFactory.getInstance</value></property> </bean> <!-- this example will acquire a (target) instance specific version of System defined (version) property --> <bean id="sysProps" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetClass"><value>java.lang.System</value></property> <property name="targetMethod"><value>getProperties</value></property> </bean> <bean id="javaVersion" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject"><ref local="sysProps"/></property> <property name="targetMethod"><value>getProperty</value></property> <property name="arguments"> <list> <value>java.version</value> </list> </property> </bean>Since your question addresses GarbageCollection it would be good to know the difference between Spring's Beans loader between ApplicationContext (a load class which implements ApplicationContextAware) and BeanFactory (a class which implements BeanFactoryAware) BeanFactory: 1a)Container locates beans definition (usually derivation of *beans.xml) 1b)Container Loads beans into Container 2)is instantiated LATER with getBean() method ApplicationContext: 1a)Container locates beans definition depeding on invoking class -ClassPathXMLApplicationContext-Loads XML from Classpath -FileSystemXMLApplicationContext-Loads context from XML file in filesystem -XMLWebApplicationContext-Loads Context from XML(beans.xml/ApplicationContext.xml) contained with webApplication 1b)Container loads and instantiates all beans into Container so if you see alot of GC activity from jheap or J2EE Server logs you will probably want to consider using BeanFactoryAware implementor class instead of default ApplicationContextAware implementor class hope this helps Martin Gainty ______________________________________________ Verzicht und Vertraulichkeitanmerkung Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. > Date: Fri, 10 Jul 2009 11:10:17 -0400 > From: d...@newfield.org > To: user@struts.apache.org > Subject: Re: Actions are not Garbage Collected > > Musachy Barroso wrote: > > On Fri, Jul 10, 2009 at 7:53 AM, Musachy Barroso<musa...@gmail.com> wrote: > >> If your actions are singletons (and they shouldn't be!) then they > >> are not likely to be collected. > > > > because a reference to them will be held by spring, or whatever > > container you are using. > > Or maybe clickstream? http://www.opensymphony.com/clickstream > > A brief look at the source > https://svn.opensymphony.com/svn/clickstream/trunk appears to indicate > that it only saves stuff extracted from the request object, but maybe I > missed where it's also saving a reference to the request (and therefore > the action) itself? > > -Dale > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > _________________________________________________________________ Lauren found her dream laptop. Find the PC that’s right for you. http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290