tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: Connection between ListenerStart and clustering
Date Sat, 03 Oct 2009 15:43:01 GMT
On 03.10.2009 12:12, Bocalinda wrote:
> I was able to check whether the class (ContextLoaderListener) is copied in
> different places.
> I can confirm that the class is only located in my webapp under WEB-INF/lib.
> (Inside spring.jar and spring-web.jar).
> 
> The mystery gets bigger and bigger for me :)
> 
> To resume, my Tomcat works most of the time, but sometimes when I start I
> get a ListenerStart Error because of a ClassDefNotFound error referencing
> org.springframework.web.context.ContextLoaderListener.
> 
> Note. This happens after stopping and starting Tomcat again. I'm not
> deploying any newer libraries or whatsoever.

<wild guess>
I remember problems with clustering which were of the following kind:
session replication data was received on a node although the context
wasn't yet fully initialized.

Maybe we run into classloader troubles in that case?

This could only happen if another node in the cluster is running all the
time between stop and restart of the node, which logs the exception.

How easy can your reproduce the problem? In case I provide a patch,
could you test, whether the problem goes away?
</wild guess>

Regards,

Rainer

> In case it's useful, the web.xml of the webapp:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="
> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>     id="WebApp_ID" version="2.5">
>     <display-name>pack-server</display-name>
> 
>     <distributable />
> 
>     <welcome-file-list>
>         <welcome-file>index.html</welcome-file>
>         <welcome-file>index.htm</welcome-file>
>         <welcome-file>index.jsp</welcome-file>
>     </welcome-file-list>
> 
>     <context-param>
> 
> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
>         <param-value>messages</param-value>
>     </context-param>
> 
>     <context-param>
>         <param-name>contextConfigLocation</param-name>
>         <param-value>
>             classpath:applicationContext-pack-base.xml,
>             /WEB-INF/classes/applicationContext-services.xml,
>             /WEB-INF/classes/applicationContext-security.xml
> 
>         </param-value>
>     </context-param>
> 
>     <context-param>
>         <param-name>log4jExposeWebAppRoot</param-name>
>         <param-value>false</param-value>
>     </context-param>
> 
>     <filter>
>         <filter-name>springSecurityFilterChain</filter-name>
> 
> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
> 
>     </filter>
> 
>     <filter-mapping>
>         <filter-name>springSecurityFilterChain</filter-name>
>         <url-pattern>/*</url-pattern>
>         <dispatcher>REQUEST</dispatcher>
>         <dispatcher>FORWARD</dispatcher>
>     </filter-mapping>
> 
>     <filter>
>         <filter-name>Execution Context Filter</filter-name>
> 
> <filter-class>de.ja.sap.pack.controller.ExecutionContextFilter</filter-class>
> 
>     </filter>
> 
>     <filter-mapping>
>         <filter-name>Execution Context Filter</filter-name>
>         <url-pattern>*.do</url-pattern>
>     </filter-mapping>
> 
>     <listener>
> 
> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
> 
>     </listener>
> 
>     <listener>
> 
> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
> 
>     </listener>
> 
>     <listener>
> 
> <listener-class>de.ja.sap.pack.listener.InitListener</listener-class>
>     </listener>
> 
>     <servlet>
>         <servlet-name>action</servlet-name>
> 
> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
>         <init-param>
>             <param-name>config</param-name>
>             <param-value>/WEB-INF/struts-config.xml</param-value>
>         </init-param>
>         <load-on-startup>1</load-on-startup>
>     </servlet>
> 
>     <servlet-mapping>
>         <servlet-name>action</servlet-name>
>         <url-pattern>*.do</url-pattern>
>     </servlet-mapping>
> 
>     <servlet>
>         <display-name>Apache-Axis Servlet</display-name>
>         <servlet-name>AxisServlet</servlet-name>
> 
> <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
>     </servlet>
> 
>     <servlet-mapping>
>         <servlet-name>AxisServlet</servlet-name>
>         <url-pattern>/servlet/AxisServlet</url-pattern>
>     </servlet-mapping>
> 
>     <servlet-mapping>
>         <servlet-name>AxisServlet</servlet-name>
>         <url-pattern>*.jws</url-pattern>
>     </servlet-mapping>
> 
>     <servlet-mapping>
>         <servlet-name>AxisServlet</servlet-name>
>         <url-pattern>/services/*</url-pattern>
>     </servlet-mapping>
> 
>     <servlet>
>         <display-name>Apache-Axis Admin Servlet Web Admin</display-name>
>         <servlet-name>AxisAdminServlet</servlet-name>
> 
> <servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
> 
>         <load-on-startup>100</load-on-startup>
>     </servlet>
> 
>     <servlet-mapping>
>         <servlet-name>AxisAdminServlet</servlet-name>
>         <url-pattern>/axis2-admin/*</url-pattern>
>     </servlet-mapping>
> 
>     <filter>
>         <filter-name>Navegation PACK Filter</filter-name>
>         <filter-class>de.ja.sap.pack.web.NavegationPACKFilter</filter-class>
> 
>     </filter>
>     <filter-mapping>
>         <filter-name>Navegation PACK Filter</filter-name>
>         <url-pattern>*</url-pattern>
>     </filter-mapping>
> 
> </web-app>
> 
> 2009/10/3 Caldarale, Charles R <Chuck.Caldarale@unisys.com>
> 
>>> From: Bocalinda [mailto:bocalinda@gmail.com]
>>> Subject: Re: Connection between ListenerStart and clustering
>>>
>>>> it turns out there are 2 libraries in my web-inf/lib
>>>> containing a class definition for that:
>>>>
>>>> spring-2.5.6.jar and spring-web-2.5.6.jar
>>>>
>>>> Maybe one is interfering with the other
>>
>> Is one a proper subset of the other?  If so, it can be removed without ill
>> effect.
>>
>>> they both need to be there in order for Spring to work.
>>
>> I'm not familiar with Spring so, I can't really comment.  Others on the
>> list do have experience in that area.
>>
>>  - Chuck
>>
>>
>> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
>> MATERIAL and is thus for use only by the intended recipient. If you received
>> this in error, please contact the sender and delete the e-mail and its
>> attachments from all computers.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message