I've found the Sun JVM 1.3.1 to be unstable on Linux 6.2 and 7.1.  Tomcat kept 
crashing at random intervals (sometime a few days, sometimes a few hours).  I switched 
to the IBM JVM and it started to run OK - no crashing.  Maybe you'd like to give that 
a try.

On Thu, 20 Sep 2001 14:28:39 +0530
Dinu Jose <[EMAIL PROTECTED]> wrote:

DJ> Hello All,
DJ> I am also facing a similar scenario and the situation is still more worse,i.
DJ> e.,tomcat is down every two hours.If restarted,it works fine and will be
DJ> down after two hours.Please help .
DJ> Thanks in advance
DJ> Dinu
DJ> 
DJ> 
DJ> -----Original Message-----
DJ> From: akilus [mailto:[EMAIL PROTECTED]]
DJ> Sent: Thursday, September 20, 2001 2:17 PM
DJ> To: [EMAIL PROTECTED]
DJ> Subject: Help, My Tomcat always down everyday!
DJ> 
DJ> 
DJ> Hello, Everybody!
DJ> My Tomcat always down everyday, I don't know why, and I don't find anything
DJ> useful in my log files.
DJ> and when I restart Tomcat, everything will go correctly, but after some
DJ> time, normally in noon, the tomcat will down again.
DJ> And another thing is :The memory that jdk occupy increase with time, I don't
DJ> know whether it is normal or abnormal.
DJ> Who can tell me several possible reasons about this? I use redhat
DJ> 6.2,Apache1.3.12, Tomcat3.2.2 and j2sdk1.3.0.04 for linux.
DJ> The below is my configuration for tomcat, other files is not modified:
DJ> Tomcat.conf:
DJ> ///////////////////////////////
DJ> 
DJ> 
DJ> ############################################################################
DJ> ###
DJ> #                     Apache JServ Configuration File
DJ> #
DJ> ############################################################################
DJ> ###
DJ> 
DJ> # Note: this file should be appended or included into your httpd.conf
DJ> 
DJ> # Tell Apache on win32 to load the Apache JServ communication module
DJ> # LoadModule jserv_module modules/ApacheModuleJServ.dll
DJ> 
DJ> # Tell Apache on Unix to load the Apache JServ communication module
DJ> # For shared object builds only!!!
DJ> # @LOAD_OR_NOT@LoadModule jserv_module @LIBEXECDIR@/mod_jserv.so
DJ> LoadModule jserv_module libexec/mod_jserv.so
DJ> 
DJ> <IfModule mod_jserv.c>
DJ> # Do not edit!
DJ> ApJServManual on
DJ> ApJServDefaultProtocol ajpv12
DJ> ApJServSecretKey DISABLED
DJ> ApJServMountCopy on
DJ> ApJServLogLevel notice
DJ> 
DJ> 
DJ> ### Change if you run tomcat on a different host
DJ> #ApJServDefaultHost localhost
DJ> ApJServDefaultPort 8007
DJ> 
DJ> 
DJ> #################### All jsp files will go to tomcat ####################
DJ> ApJServMount default /root
DJ> 
DJ> AddType text/jsp .jsp
DJ> AddHandler jserv-servlet .jsp
DJ> 
DJ> Alias /app /home/httpd/html
DJ> 
DJ> <Directory "/home/httpd/html">
DJ>         Options  FollowSymLinks
DJ> </Directory>
DJ> 
DJ> <Location /app/WEB-INF/>
DJ>         AllowOverride None
DJ>         deny from all
DJ> </Location>
DJ> 
DJ> <LocationMatch /app/*.jsp>
DJ>         setHandler jserv-servlet
DJ> </LocationMatch>
DJ> 
DJ> ############################## Context mapping - all requests go to tomcat
DJ> 
DJ> ApJServMount /examples /root
DJ> 
DJ> ############################## Context mapping - you need to "deploy"
DJ> # ( copy or ln -s ) the context into htdocs
DJ> ##
DJ> 
DJ> # ApJservMount /CONTEXT/servlet  /root
DJ> # <Location /CONTEXT/WEB-INF/ >
DJ> #      AllowOverride None
DJ> #      deny from all
DJ> # </Location>
DJ> 
DJ> ApJServMount /app/servlet /app
DJ> 
DJ> ApJServMount /servlet /ROOT
DJ> 
DJ> </IfModule>
DJ> ///////////////////////////////////////////
DJ> server.xml
DJ> //////////////////
DJ> <?xml version="1.0" encoding="ISO-8859-1"?>
DJ> 
DJ> <Server>
DJ>     <!-- Debug low-level events in XmlMapper startup -->
DJ>     <xmlmapper:debug level="0" />
DJ> 
DJ>     <!-- 
DJ> 
DJ>     Logging:
DJ> 
DJ>          Logging in Tomcat is quite flexible; we can either have a log
DJ>          file per module (example: ContextManager) or we can have one
DJ>          for Servlets and one for Jasper, or we can just have one
DJ>          tomcat.log for both Servlet and Jasper.  Right now there are
DJ>          three standard log streams, "tc_log", "servlet_log", and
DJ>          "JASPER_LOG".  
DJ> 
DJ>      Path: 
DJ> 
DJ>      The file to which to output this log, relative to
DJ>      TOMCAT_HOME.  If you omit a "path" value, then stderr or
DJ>      stdout will be used.
DJ> 
DJ>      Verbosity: 
DJ> 
DJ>      Threshold for which types of messages are displayed in the
DJ>      log.  Levels are inclusive; that is, "WARNING" level displays
DJ>      any log message marked as warning, error, or fatal.  Default
DJ>      level is WARNING.
DJ> 
DJ>      verbosityLevel values can be: 
DJ>         FATAL
DJ>         ERROR
DJ>         WARNING 
DJ>             INFORMATION
DJ>             DEBUG
DJ> 
DJ>      Timestamps:
DJ> 
DJ>      By default, logs print a timestamp in the form "yyyy-MM-dd
DJ>      hh:mm:ss" in front of each message.  To disable timestamps
DJ>      completely, set 'timestamp="no"'. To use the raw
DJ>      msec-since-epoch, which is more efficient, set
DJ>      'timestampFormat="msec"'.  If you want a custom format, you
DJ>      can use 'timestampFormat="hh:mm:ss"' following the syntax of
DJ>      java.text.SimpleDateFormat (see Javadoc API).  For a
DJ>      production environment, we recommend turning timestamps off,
DJ>      or setting the format to "msec".
DJ> 
DJ>      Custom Output:
DJ> 
DJ>      "Custom" means "normal looking".  "Non-custom" means
DJ>      "surrounded with funny xml tags".  In preparation for
DJ>      possibly disposing of "custom" altogether, now the default is
DJ>      'custom="yes"' (i.e. no tags)
DJ> 
DJ>      Per-component Debugging:
DJ> 
DJ>      Some components accept a "debug" attribute.  This further
DJ>      enhances log output.  If you set the "debug" level for a
DJ>      component, it may output extra debugging information.
DJ>     -->
DJ> 
DJ>     <!-- if you don't want messages on screen, add the attribute
DJ>             path="logs/tomcat.log" 
DJ>      to the Logger element below
DJ>     -->
DJ> <!--
DJ>     <Logger name="tc_log" 
DJ>             verbosityLevel = "INFORMATION" 
DJ>             path="logs/tomcat.log" 
DJ>     />
DJ> -->
DJ> 
DJ>     <Logger name="tc_log" 
DJ>             verbosityLevel = "DEBUG" 
DJ>             path="logs/tomcat.log" 
DJ>     />
DJ> 
DJ>     <Logger name="servlet_log" 
DJ>             verbosityLevel = "DEBUG" 
DJ>             path="logs/servlet.log"
DJ>     />
DJ> 
DJ>     <Logger name="JASPER_LOG" 
DJ>         path="logs/jasper.log"
DJ>             verbosityLevel = "DEBUG" />
DJ> 
DJ>     <!-- You can add a "home" attribute to represent the "base" for 
DJ>          all relative paths. If none is set, the TOMCAT_HOME property
DJ>          will be used, and if not set "." will be used.
DJ>          webapps/, work/ and logs/ will be relative to this ( unless 
DJ>          set explicitely to absolute paths ).
DJ> 
DJ>          You can also specify a "randomClass" attribute, which determines 
DJ>          a subclass of java.util.Random will be used for generating session
DJ> IDs.
DJ>          By default this is "java.security.SecureRandom". 
DJ>          Specifying "java.util.Random" will speed up Tomcat startup, 
DJ>          but it will cause sessions to be less secure.
DJ> 
DJ>          You can specify the "showDebugInfo" attribute to control whether
DJ>          debugging information is displayed in Tomcat's default responses.
DJ>          This debugging information includes:
DJ>              1. Stack traces for exceptions
DJ>              2. Request URI's that cause status codes >= 400
DJ>          The default is "true", so you must specify "false" to prevent
DJ>          the debug information from appearing.  Since the debugging
DJ>          information reveals internal details about what Tomcat is serving,
DJ>          set showDebugInfo="false" if you wish increased security.
DJ>       -->
DJ>     <ContextManager debug="0" workDir="work" showDebugInfo="true" >
DJ> 
DJ>       <!-- ==================== Interceptors ==================== -->
DJ> 
DJ>         <!-- 
DJ>          ContextInterceptor className="org.apache.tomcat.context.LogEvents" 
DJ>          -->
DJ>         
DJ>         <ContextInterceptor className="org.apache.tomcat.context.AutoSetup"
DJ> />
DJ> 
DJ>         <ContextInterceptor 
DJ>             className="org.apache.tomcat.context.WebXmlReader" />
DJ> 
DJ>         <!-- Uncomment out if you have JDK1.2 and want to use policy 
DJ>         <ContextInterceptor 
DJ>             className="org.apache.tomcat.context.PolicyInterceptor" />
DJ>         -->
DJ> 
DJ>         <ContextInterceptor 
DJ>             className="org.apache.tomcat.context.LoaderInterceptor" />
DJ>         <ContextInterceptor 
DJ>             className="org.apache.tomcat.context.DefaultCMSetter" />
DJ>         <ContextInterceptor 
DJ>             className="org.apache.tomcat.context.WorkDirInterceptor" />
DJ> 
DJ>         <!-- Request processing -->
DJ>         <!-- Session interceptor will extract the session id from cookies
DJ> and 
DJ>              deal with URL rewriting ( by fixing the URL ).  If you wish to
DJ>              suppress the use of cookies for session identifiers, change the
DJ>              "noCookies" attribute to "true"
DJ>           -->
DJ>         <RequestInterceptor 
DJ>             className="org.apache.tomcat.request.SessionInterceptor"
DJ>             noCookies="false" />
DJ> 
DJ>         <!-- Find the container ( context and prefix/extension map ) 
DJ>              for a request.
DJ>           -->
DJ>         <RequestInterceptor 
DJ>             className="org.apache.tomcat.request.SimpleMapper1" 
DJ>             debug="0" />
DJ> 
DJ>         <!-- Non-standard invoker, for backward compat. ( /servlet/* )
DJ>              You can modify the prefix that is matched by adjusting the
DJ>              "prefix" parameter below.  Be sure your modified pattern
DJ>              starts and ends with a slash.
DJ> 
DJ>              NOTE:  This prefix applies to *all* web applications that
DJ>              are running in this instance of Tomcat.
DJ>           -->
DJ>         <RequestInterceptor 
DJ>             className="org.apache.tomcat.request.InvokerInterceptor" 
DJ>             debug="0" prefix="/servlet/" />
DJ> 
DJ>         <!-- "default" handler - static files and dirs.  Set the
DJ>              "suppress" property to "true" to suppress directory listings
DJ>              when no welcome file is present.
DJ> 
DJ>              NOTE:  This setting applies to *all* web applications that
DJ>              are running in this instance of Tomcat.
DJ>           -->
DJ>         <RequestInterceptor 
DJ>             className="org.apache.tomcat.request.StaticInterceptor" 
DJ>             debug="0" suppress="false" />
DJ> 
DJ>         <!-- Plug a session manager. You can plug in more advanced session
DJ>              modules.
DJ>           -->
DJ>         <RequestInterceptor 
DJ>             className="org.apache.tomcat.session.StandardSessionInterceptor"
DJ> />
DJ> 
DJ>         <!-- Check if the request requires an authenticated role.
DJ>           -->
DJ>         <RequestInterceptor 
DJ>             className="org.apache.tomcat.request.AccessInterceptor" 
DJ>             debug="0" />
DJ> 
DJ>         <!-- Check permissions using the simple xml file. You can 
DJ>              plug more advanced authentication modules.
DJ>           -->
DJ>         <RequestInterceptor 
DJ>             className="org.apache.tomcat.request.SimpleRealm" 
DJ>             debug="0" />
DJ> 
DJ>        <!-- UnComment the following and comment out the
DJ>             above to get a JDBC realm.
DJ>             Other options for driverName: 
DJ>               driverName="oracle.jdbc.driver.OracleDriver"
DJ>               connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
DJ>               connectionName="scott"
DJ>               connectionPassword="tiger"
DJ> 
DJ>               driverName="org.gjt.mm.mysql.Driver"
DJ>               connectionURL="jdbc:mysql://localhost/authority"
DJ>               connectionName="test"
DJ>               connectionPassword="test"
DJ> 
DJ>             "connectionName" and "connectionPassword" are optional.
DJ>         -->
DJ>         <!--
DJ>         <RequestInterceptor 
DJ>             className="org.apache.tomcat.request.JDBCRealm" 
DJ>             debug="99" 
DJ>         driverName="sun.jdbc.odbc.JdbcOdbcDriver" 
DJ>         connectionURL="jdbc:odbc:TOMCAT" 
DJ>         userTable="users" 
DJ>             userNameCol="user_name" 
DJ>             userCredCol="user_pass" 
DJ>         userRoleTable="user_roles" 
DJ>             roleNameCol="role_name" />
DJ>         -->
DJ> 
DJ>         <!-- Loaded last since JSP's that load-on-startup use request
DJ> handling -->
DJ>         <ContextInterceptor 
DJ>             className="org.apache.tomcat.context.LoadOnStartupInterceptor"
DJ> />
DJ> 
DJ>       <!-- ==================== Connectors ==================== -->
DJ> 
DJ>         <!-- Normal HTTP 
DJ>         <Connector className="org.apache.tomcat.service.PoolTcpConnector">
DJ>             <Parameter name="handler" 
DJ>  
DJ> value="org.apache.tomcat.service.http.HttpConnectionHandler"/>
DJ>             <Parameter name="port" 
DJ>                 value="8080"/>
DJ>         </Connector>
DJ> 
DJ> -->
DJ>         <!--
DJ>             Uncomment this for SSL support. 
DJ>             You _need_ to set up a server certificate if you want this
DJ>             to work, and you need JSSE.
DJ>             1. Add JSSE jars to CLASSPATH 
DJ>             2. Edit java.home/jre/lib/security/java.security
DJ>                Add:
DJ>                security.provider.2=com.sun.net.ssl.internal.ssl.Provider
DJ>             3. Do: keytool -genkey -alias tomcat -keyalg RSA
DJ>                RSA is essential to work with Netscape and IIS.
DJ>                Use "changeit" as password. ( or add keypass attribute )
DJ>                You don't need to sign the certificate.
DJ>  
DJ>             You can set parameter keystore and keypass if you want 
DJ>             to change the default ( user.home/.keystore with changeit )
DJ>          -->
DJ>         <!--
DJ>         <Connector className="org.apache.tomcat.service.PoolTcpConnector">
DJ>             <Parameter name="handler" 
DJ>  
DJ> value="org.apache.tomcat.service.http.HttpConnectionHandler"/>
DJ>             <Parameter name="port" 
DJ>                 value="8443"/>
DJ>             <Parameter name="socketFactory" 
DJ>                 value="org.apache.tomcat.net.SSLSocketFactory" />
DJ>         </Connector>
DJ>         -->
DJ> 
DJ>         <!-- Apache AJP12 support. This is also used to shut down tomcat.
DJ>           -->
DJ>         <Connector className="org.apache.tomcat.service.PoolTcpConnector">
DJ>             <Parameter name="handler" 
DJ>        value="org.apache.tomcat.service.connector.Ajp12ConnectionHandler"/>
DJ>             <Parameter name="port" value="8007"/>
DJ>         </Connector>
DJ> 
DJ>         <!-- ==================== Special webapps ==================== -->
DJ>         <!-- You don't need this if you place your app in webapps/
DJ>              and use defaults. 
DJ>              For security you'll also need to edit tomcat.policy
DJ> 
DJ>              Defaults are: debug=0, reloadable=true, trusted=false
DJ>              (trusted allows you to access tomcat internal objects 
DJ>              with FacadeManager ), crossContext=true (allows you to
DJ>              access other contexts via ServletContext.getContext())
DJ>  
DJ>              If security manager is enabled, you'll have read perms.
DJ>              in the webapps dir and read/write in the workdir.
DJ>          -->
DJ> 
DJ> <!--
DJ>         <Context path="/examples" 
DJ>                  docBase="webapps/examples" 
DJ>                  crossContext="false"
DJ>                  debug="0" 
DJ>                  reloadable="true" > 
DJ>         </Context>
DJ> -->
DJ> 
DJ>  <Context path="/" docBase="/home/httpd/html" debug="3" reloadable="true"/>
DJ> 
DJ>         <!-- Admin context will use tomcat.core to add/remove/get info about
DJ>              the webapplications and tomcat internals. 
DJ>              By default it is not trusted - i.e. it is not allowed access to
DJ> 
DJ>              tomcat internals, only informations that are available to all 
DJ>              servlets are visible.
DJ> 
DJ>              If you change this to true, make sure you set a password.
DJ>           -->
DJ> <!--        <Context path="/admin" 
DJ>                  docBase="webapps/admin" 
DJ>                  crossContext="true"
DJ>                  debug="0" 
DJ>                  reloadable="true" 
DJ>                  trusted="false" > 
DJ>         </Context>
DJ> -->
DJ> 
DJ>         <!-- Virtual host example - 
DJ>              In "127.0.0.1" virtual host we'll reverse "/" and 
DJ>              "/examples"
DJ>              (XXX need a better example )
DJ>              (use  "http://127.0.0.1/examples"; )
DJ>         <Host name="127.0.0.1" >
DJ>            <Context path="" 
DJ>                     docBase="webapps/examples" />
DJ>            <Context path="/examples" 
DJ>                     docBase="webapps/ROOT" />
DJ>         </Host>
DJ>          -->
DJ> 
DJ>     </ContextManager>
DJ> </Server>
DJ> //////////////////////////////////////////////////////////////////
DJ> 
DJ> 
DJ> 
DJ>             akilus
DJ>             [EMAIL PROTECTED]
DJ> 

Reply via email to