Thanks Ian and Laurie for looking into this.
Excuse me Laurie, for missing out an imp. info. that "web.xml also contains
spring ContextLoaderListener declaration".

I now feel that it is more a spring / tomcat issue and not a really a
struts2 issue.
I observed the tomcat's console logs while it was shutting down. I could see
the info messages indicating that the spring context was being destroyed.
But when I 'reload' the context of the same web-app using Tomcat Manager
application, I don't see those info messages.

So, I guess I need to
   either change the way tomcat reloads the context (only if it's possible)
   or find out a way to reload spring context when Tomcat reloads the
web-app context.

Correct me if I'm wrong. Direct me if I'm right.. :)

- Rushikesh

On Wed, Feb 13, 2008 at 9:29 PM, Laurie Harper <[EMAIL PROTECTED]> wrote:

>  > (3) web.xml doesn't contain anything but struts2 filter declaration.
>
> If that's the case, how is Spring getting initialized? Usually you would
> configure one of Spring's context listeners, which will take care of
> loading the Spring context on startup and destroying it when the
> application is shut down / undeployed.
>
> As Ian indicated, you'll need *some* sort of context listener to close
> the Spring context (i.e. reverse whatever Spring setup logic you have),
> whether it be one of the ones supplied by Spring or your own.
>
> L.
>
> Rushikesh Thakkar wrote:
> > I want to release a database connection while reloading the context
> (using
> > Tomcat Manager web app) of a Struts2 Web Application. I am also using
> Spring
> > and hibernate. (Spring's HibernateTemplate, Spring SessionFactory and
> Apache
> > Commons-dbcp with HSql standalone-database)
> >
> > As I am using HSql 'standalone' database, even if the web application
> > context gets reloaded, the database connection is not released while
> > destroying the context. So I get 'Database is already in use by other
> > process' error. I want to know whether there is any way to implement
> > something like "destroy() method of servlet" in a Struts2 application.
> >
> > I am not sure whether I can do it with spring configuration. Any idea?
> If
> > there are many ways of doing it, kindly also tell which way is the best
> for
> > me.
> >
> > (1) struts.properties:
> >
> > struts.objectFactory =
> org.apache.struts2.spring.StrutsSpringObjectFactory
> >
> > (2) applicationContext.xml (my spring configuration file)
> >
> > <beans default-autowire="autodetect">
> >
> >     <bean id="myDataSource" class="
> org.apache.commons.dbcp.BasicDataSource"
> > destroy-method="close">
> >         <property name="driverClassName" value="org.hsqldb.jdbcDriver"
> />
> >         <property name="url"
> > value="jdbc:hsqldb:file:C:/Projects/db/hsqlTest" />
> >         <property name="username" value="sa"/>
> >         <property name="password" value=""/>
> >     </bean>
> >     <bean id="mySessionFactory" class="
> > org.springframework.orm.hibernate3.LocalSessionFactoryBean">
> >         <property name="dataSource" ref="myDataSource"/>
> >         <property name="mappingResources">
> >             <list>
> >
> >
>  <value>no/bbs/webservice/client/config/model/certificate.hbm.xml</value>
> >         </property>
> >         <property name="hibernateProperties">
> >             <props>
> >                 <prop key="hibernate.dialect">
> > org.hibernate.dialect.HSQLDialect</prop>
> >                 <prop key="hibernate.show_sql">true</prop>
> >             </props>
> >         </property>
> >     </bean>
> >
> >     <bean id="hibernateTemplate" class="
> > org.springframework.orm.hibernate3.HibernateTemplate">
> >         <property name="sessionFactory">
> >             <ref bean="mySessionFactory"/>
> >         </property>
> >     </bean>
> >     <bean id="testClientDao" class="
> > webservice.client.dao.hibernate.TestClientDAO">
> >         <property name="hibernateTemplate">
> >             <ref bean="hibernateTemplate"/>
> >         </property>
> >     </bean>
> >     <!-- Some Strus2-Actions follow -->
> > </beans>
> >
> > (3) web.xml doesn't contain anything but struts2 filter declaration.
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to