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