You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2004/03/24 12:57:38 UTC

DO NOT REPLY [Bug 27902] New: - Tomcat webapps on a Network Drive

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=27902>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=27902

Tomcat webapps on a Network Drive

           Summary: Tomcat webapps on a Network Drive
           Product: Tomcat 4
           Version: 4.1.9
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Unknown
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: jatarifa@omel.es
                CC: fpoveda@omel.es


First, I'm going to describe our system:

We are working with Network Appliance FILER 810c (NetApp DataOnTap Release 
6.4.3 S.O.) storage system, used to store our application data.

Our infrastructure is composed by several machines with a Tomcat installation 
(v4.1.9) and all the application data in our storage system.

Our server.xml is:

<Server port="8005" shutdown="SHUTDOWN" debug="0">
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
            debug="0"/>
  <Listener 
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
            debug="0"/>
  <GlobalNamingResources>
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
       description="User database that can be updated and saved">
    </Resource>
    <ResourceParams name="UserDatabase">
      <parameter>
        <name>factory</name>
        <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
      </parameter>
      <parameter>
        <name>pathname</name>
        <value>conf/tomcat-users.xml</value>
      </parameter>
    </ResourceParams>
  </GlobalNamingResources>

  <Service name="Tomcat-Standalone">
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
	       port="8080" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="443"
               acceptCount="10" debug="0" connectionTimeout="20000"
               useURIValidationHack="false" />
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="false"  acceptCount="10" debug="0" 
connectionTimeout="20000"
               useURIValidationHack="false" scheme="https" secure="true" 
tomcatAuthentication="false"
               protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

    <Engine name="Standalone" defaultHost="localhost" debug="0">
      <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="catalina_log." suffix=".txt"
              timestamp="true" directory="logs/server" />
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 debug="0" resourceName="UserDatabase"/>

      <Host name="localhost" debug="0" appBase="h:/apps" unpackWARs="true" 
autoDeploy="true">
      
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs/server"  prefix="localhost_access_log." 
suffix=".txt"
                 pattern="common" resolveHosts="false"/>
        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs/server"  prefix="localhost_log." suffix=".txt"
	        timestamp="true"/>
        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs/server"  prefix="localhost_admin_log." 
suffix=".txt"
	        timestamp="true"/>
       
        <Context path="/jsiom" docBase="jsiom" debug="0" reloadable="true" />
      </Host>
    </Engine>
  </Service>
</Server>


We has modified the 'appBase' attribute on the 'Host' tag, to point tomcat to 
our repository of web applications at our storage system named formerly. Note 
that 'h:/apps' is a network unit on the machine pointing to our file on 
\\filer2des.

And the problem:

When we start Tomcat, everything goes well, but certain time after, Tomcat 
seems to lose its references to libraries stored at the lib directory of the 
webapp.  And produces this type of error (this is a class in a jar file on the 
lib directory):

java.lang.NoClassDefFoundError: javax/xml/soap/Detail
	at org.apache.axis.AxisFault.output(AxisFault.java:317)
	at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:262)
	at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:472)
	at org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:379)
	at org.apache.axis.Message.getContentType(Message.java:400)
	at org.apache.axis.transport.http.AxisServlet.doPost
(AxisServlet.java:721)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at org.apache.axis.transport.http.AxisServletBase.service
(AxisServletBase.java:335)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:193)
	at es.siom.framework.controller.filters.EncodingFilter.doFilter
(EncodingFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:213)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:260)
	at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex
t(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:191)
	...
	
This produces a error 500 to the client.

We had tried it to leave our application context on the local drive at the 
machine, and with this configuration everything goes well always.  But by our 
requirements, that is nonviable.

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