"Tony Colson" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Hi, > > Just to close up a few issues, and I am sorry if this email will offend > anybody, but I don't apologize for writing it: > > > I responded to one of your messages saying there might be a startup > > error with one of your contexts causing this behavior. > > (http://marc.theaimsgroup.com/?l=tomcat-user&m=107149495515920&w=2) > But > > you never replied to that. Instead, you enter this issue into > Bugzilla, > > and then ask tomcat developers to read your message. > > Ok, perhaps you have a point, but I didn't want to burden the list > anymore; After asking Tomcat developers to chime in I decided to move it > over to Bugzilla. I did check what you suggested (actually before you > suggested it). I didn't see anything wrong with it. However, that > doesn't mean there wasn't; I find the documentation for Tomcat leaves > much to be desired, even in books. > > I have not found any type of instruction on the <Context> elements, > rather just simple declarations of what they are and their attributes. > Most of the details I know about these elements have come from trial and > error, so I hope you'll forgive me for being inexperienced. > > > autoDeploy has nothing to do with JNDI. > > Agreed. That is why it is a bug that it does affect it. This issue was > confirmed by another developer who privately emailed me about it. > Apparently it still exists in Tomcat 5, the developers know about it but > have not committed to fixing it, and this other developer cannot upgrade > to Tomcat 5 because of it (He is still using Tomcat 3 where autoDeploy > does not break JNDI). > > > If you even want someone to look at this, you will need to provide a > > test case (e.g. WAR files, even if they're small dummy ones that don't > > do anything) so that we can try to reproduce your bug. Needless to > say, > > we don't have and don't care to have your actual webapps. Just have > one > > servlet that looks up a String via env-entry JNDI or something like > > that. > > Ok. Perhaps you have another point where I could have provided a > runtime war to illustrate this, however in my first email on this topic > I included the code snippet which illustrated this and subsequently > server.xml: > > >> DataSource ds = (DataSource)initialContext.lookup( > >> "java:comp/env/jdbc/mydb" ); > > > > Finally, even if this were an issue as you describe, it's not major, > but > > minor, as this is a rarely used configuration (multiple Service) in > the > > not-latest (4.1.15) version of a no-longer-developed branch (4.1). > > First, my philosophy is that if Tomcat is not going to support a release > it should not be available on the website as a "current" release: > 4.1.29.zip is available on the same page and section as 5.1.zip and > there was not any indication that it was no longer supported, outside of > implicitly assuming so. >
supported != developed. For example: TC 3.3.x is fully supported (i.e. bugs will be fixed), but it isn't really developed at the moment (i.e. new features are unlikely to be added). > Second, since I can't find any documentation saying that multiple > <Service> tags is not the intended use of Tomcat nor any metrics saying > that it is "rarely" used, I feel perfectly free and right to report it > with the severity that it affects me. If a more learned Tomcat > developer wants to downgrade it to minor, I have no problem with that, > but I don't appreciate getting my chops busted by another user on a list > like this. > News flash: Yoav *is* a Tomcat developer. Check the tomcat-dev archives, and you will find plenty of commit messages from him (probably more than you will find for me lately :). > > As far as I am concerned, this issue is now closed and I got the > information I needed. Thanks to all who productively contributed (Yes, > even you Yoav ;)). > > Thanks and Merry Christmas to all, > > Tony > > > > -----Original Message----- > From: Shapira, Yoav > Subject: RE: JNDI comp namespace - Tomcat Developers Please Read > > > Howdy, > See, it's messages like these that annoy me. And on a Friday, too. > > I responded to one of your messages saying there might be a startup > error with one of your contexts causing this behavior. > (http://marc.theaimsgroup.com/?l=tomcat-user&m=107149495515920&w=2) But > you never replied to that. Instead, you enter this issue into Bugzilla, > and then ask tomcat developers to read your message. > > autoDeploy has nothing to do with JNDI. > > If you even want someone to look at this, you will need to provide a > test case (e.g. WAR files, even if they're small dummy ones that don't > do anything) so that we can try to reproduce your bug. Needless to say, > we don't have and don't care to have your actual webapps. Just have one > servlet that looks up a String via env-entry JNDI or something like > that. > > Finally, even if this were an issue as you describe, it's not major, but > minor, as this is a rarely used configuration (multiple Service) in the > not-latest (4.1.15) version of a no-longer-developed branch (4.1). > > Yoav Shapira > Millennium ChemInformatics > > > >-----Original Message----- > >From: Tony Colson [mailto:[EMAIL PROTECTED] > >Sent: Thursday, December 18, 2003 3:45 PM > >To: 'Tomcat Users List'; [EMAIL PROTECTED] > >Subject: RE: JNDI comp namespace - Tomcat Developers Please Read > > > >I have filed this bug with Tomcat under Bugzilla as bug #25508. > > > > > > > >-----Original Message----- > >Sent: Saturday, December 13, 2003 12:09 AM > >To: 'Tomcat Users List'; [EMAIL PROTECTED] > >Subject: RE: JNDI comp namespace - Tomcat Developers Please Read > > > > > >I narrowed down the problem a bit more. I found 2 things which look > >like they may be bugs. > > > >1) In the first <Service> tag I had a <Engine> tag and a <Host> tag as > >seen below: > > > > <Service name="XXX"> > > > > <Engine name="Standalone" > > defaultHost="localhost" > > debug="0"> > > > > <Host name="localhost" debug="0" appBase="webapps" > > unpackWARs="true" autoDeploy="false"> > > > > <Context>...</Context> > > > > <Context>...</Context> > > > >With <Host autoDeploy="true"> JNDI doesn't work. When I set autoDeploy > >to "false" JNDI works. > > > >2) I had 2 <Context> tags in the above <Service> tag. When I commented > >out the 2nd <Context> tag JNDI worked. > > > > > > > >Tony > > > >-----Original Message----- > >From: Tony Colson [mailto:[EMAIL PROTECTED] > >Sent: Friday, December 12, 2003 10:31 PM > >To: 'Tomcat Users List'; [EMAIL PROTECTED] > >Subject: RE: JNDI comp namespace - Tomcat Developers Please Read > > > >As per my suspicion, multiple <Service> seemed to cause the problem as > I > >had the JNDI resources defined in the second <Service>. Removing the > >first service temporarily seemed to "fix" it. > > > >Is this a bug in Tomcat? Or is there something else I need to specify? > > > >I will do some more testing to see if I can't narrow it down further. > > > > > >Tony > > > >-----Original Message----- > >From: Tony Colson [mailto:[EMAIL PROTECTED] > >Sent: Friday, December 12, 2003 1:23 PM > >To: 'Tomcat Users List'; [EMAIL PROTECTED] > >Subject: RE: JNDI comp namespace > > > >Hi, > > > >Thanks for the tip. Actually, this is how my server.xml was set up > >originally. I changed the resource name to java:comp/env/jdbc/NNT > under > >the notion that it might create the comp namespace if it saw it in the > >xml file. > > > >I am beginning to wonder if the problem is related to the fact that I > >have different ports running web apps? > > > >Thanks, > > > >Tony Colson > > > >-----Original Message----- > >From: Altankov Peter [mailto:[EMAIL PROTECTED] > > Howdy,Try this setup in your context definition: > > <Resource name="jdbc/NNT" auth="Container" > >type="javax.sql.DataSource"/> > > > > <ResourceParams name="jdbc/NNT"> ......... > > > > > >After that in the source where u access it go for: > >Context ictx = new InitialContext(); > >if (ictx == null) { > > throw new Exception("Boom - No Context"); > >} > >DtataSource ds = (DataSource) ictx.lookup("java:comp/env/jdbc/NNT"); > > > >I don't have the time to go into JNDI details, but im pretty sure that > >wold work for you > > > > > >-----Original Message----- > >From: Tony Colson [mailto:[EMAIL PROTECTED] > >Sent: 12 ???????? 2003 ?. 10:48 > >To: 'Tomcat Users List' > >Subject: RE: JNDI comp namespace > > > > > >As per a suggestion I am posting my server.xml file. > > > >I have several applications on different ports. I am trying to use > JNDI > >on the NNT application running on port 9000. Do a search for "9000" > and > >you will be at the <Service...> tag. Just scroll down to see the > ><Context> and <Resource> tags to look at my setup. (Also note that I > am > >trying to use <GlobalNamingResources> as seen at the top of the file.) > > > >Thanks > >Tony > >===================== START SERVER.XML ========================== > > > ><!-- Example Server Configuration File --> > ><!-- Note that component elements are nested corresponding to their > > parent-child relationships with each other --> > > > ><!-- A "Server" is a singleton element that represents the entire JVM, > > which may contain one or more "Service" instances. The Server > > listens for a shutdown command on the indicated port. > > > > Note: A "Server" is not itself a "Container", so you may not > > define subcomponents such as "Valves" or "Loggers" at this level. > >--> > > > ><Server port="8005" shutdown="SHUTDOWN" debug="0"> > > > > > > <!-- Comment these entries out to disable JMX MBeans support --> > > <!-- You may also configure custom components (e.g. Valves/Realms) by > > including your own mbean-descriptor file(s), and setting the > > "descriptors" attribute to point to a ';' seperated list of > paths > > (in the ClassLoader sense) of files to add to the default list. > > e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml" > > --> > > <Listener > >className="org.apache.catalina.mbeans.ServerLifecycleListener" > > debug="0"/> > > <Listener > >className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" > > debug="0"/> > > > > <!-- Global JNDI resources --> > > <GlobalNamingResources> > > > > <!-- Test entry for demonstration purposes --> > > <Environment name="simpleValue" type="java.lang.Integer" > >value="30"/> > > > > <!-- Editable user database that can also be used by > > UserDatabaseRealm to authenticate users --> > > <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> > > > > <!-- The PostgreSQL NNT database on horse --> > > > > > > > > </GlobalNamingResources> > > > > <!-- A "Service" is a collection of one or more "Connectors" that > >share > > a single "Container" (and therefore the web applications visible > > within that Container). Normally, that Container is an > "Engine", > > but this is not required. > > > > Note: A "Service" is not itself a "Container", so you may not > > define subcomponents such as "Valves" or "Loggers" at this > level. > > --> > > > > <!-- Define the Tomcat Stand-Alone Service --> > > <Service name="Tomcat-Standalone"> > > > > <!-- A "Connector" represents an endpoint by which requests are > >received > > and responses are returned. Each Connector passes requests on > >to the > > associated "Container" (normally an Engine) for processing. > > > > By default, a non-SSL HTTP/1.1 Connector is established on > port > >8080. > > You can also enable an SSL HTTP/1.1 Connector on port 8443 by > > following the instructions below and uncommenting the second > >Connector > > entry. SSL support requires the following steps (see the SSL > >Config > > HOWTO in the Tomcat 4.0 documentation bundle for more detailed > > instructions): > > * Download and install JSSE 1.0.2 or later, and put the JAR > >files > > into "$JAVA_HOME/jre/lib/ext". > > * Execute: > > %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA > >(Windows) > > $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA > >(Unix) > > with a password value of "changeit" for both the certificate > >and > > the keystore itself. > > > > By default, DNS lookups are enabled when a web application > >calls > > request.getRemoteHost(). This can have an adverse impact on > > performance, so you can disable it by setting the > > "enableLookups" attribute to "false". When DNS lookups are > >disabled, > > request.getRemoteHost() will return the String version of the > > IP address of the remote client. > > --> > > > > <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> > > <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" > > port="8080" minProcessors="5" maxProcessors="75" > > enableLookups="true" redirectPort="8443" > > acceptCount="100" debug="0" connectionTimeout="20000" > > useURIValidationHack="false" disableUploadTimeout="true" > >/> > > <!-- Note : To disable connection timeouts, set connectionTimeout > >value > > to -1 --> > > > > <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> > > <!-- > > <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" > > port="8443" minProcessors="5" maxProcessors="75" > > enableLookups="true" > > acceptCount="100" debug="0" scheme="https" secure="true" > > useURIValidationHack="false" > disableUploadTimeout="true"> > > <Factory > >className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory" > > clientAuth="false" protocol="TLS" /> > > </Connector> > > --> > > > > <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 --> > > <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" > > port="8009" minProcessors="5" maxProcessors="75" > > enableLookups="true" redirectPort="8443" > > acceptCount="10" debug="0" connectionTimeout="0" > > useURIValidationHack="false" > > > >protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/> > > > > <!-- Define an AJP 1.3 Connector on port 8009 --> > > <!-- > > <Connector className="org.apache.ajp.tomcat4.Ajp13Connector" > > port="8009" minProcessors="5" maxProcessors="75" > > acceptCount="10" debug="0"/> > > --> > > > > <!-- Define a Proxied HTTP/1.1 Connector on port 8082 --> > > <!-- See proxy documentation for more information about using this. > >--> > > <!-- > > <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" > > port="8082" minProcessors="5" maxProcessors="75" > > enableLookups="true" > > acceptCount="100" debug="0" connectionTimeout="20000" > > proxyPort="80" useURIValidationHack="false" > > disableUploadTimeout="true" /> > > --> > > > > <!-- Define a non-SSL legacy HTTP/1.1 Test Connector on port 8083 > >--> > > <!-- > > <Connector > >className="org.apache.catalina.connector.http.HttpConnector" > > port="8083" minProcessors="5" maxProcessors="75" > > enableLookups="true" redirectPort="8443" > > acceptCount="10" debug="0" /> > > --> > > > > <!-- Define a non-SSL HTTP/1.0 Test Connector on port 8084 --> > > <!-- > > <Connector > >className="org.apache.catalina.connector.http10.HttpConnector" > > port="8084" minProcessors="5" maxProcessors="75" > > enableLookups="true" redirectPort="8443" > > acceptCount="10" debug="0" /> > > --> > > > > <!-- An Engine represents the entry point (within Catalina) that > >processes > > every request. The Engine implementation for Tomcat stand > >alone > > analyzes the HTTP headers included with the request, and > passes > >them > > on to the appropriate Host (virtual host). --> > > > > <!-- You should set jvmRoute to support load-balancing via JK/JK2 > ie > >: > > <Engine name="Standalone" defaultHost="localhost" debug="0" > >jmvRoute="jvm1"> > > --> > > > > <!-- Define the top level container in our container hierarchy --> > > <Engine name="Standalone" defaultHost="localhost" debug="0"> > > > > <!-- The request dumper valve dumps useful debugging information > >about > > the request headers and cookies that were received, and the > >response > > headers and cookies that were sent, for all requests > received > >by > > this instance of Tomcat. If you care only about requests to > >a > > particular virtual host, or a particular application, nest > >this > > element inside the corresponding <Host> or <Context> entry > >instead. > > > > For a similar mechanism that is portable to all Servlet 2.3 > > containers, check out the "RequestDumperFilter" Filter in > the > > example application (the source for this filter may be found > >in > > "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters"). > > > > Request dumping is disabled by default. Uncomment the > >following > > element to enable it. --> > > <!-- > > <Valve > className="org.apache.catalina.valves.RequestDumperValve"/> > > --> > > > > <!-- Global logger unless overridden at lower levels --> > > <Logger className="org.apache.catalina.logger.FileLogger" > > prefix="catalina_log." suffix=".txt" > > timestamp="true"/> > > > > <!-- Because this Realm is here, an instance will be shared > >globally --> > > > > <!-- This Realm uses the UserDatabase configured in the global > >JNDI > > resources under the key "UserDatabase". Any edits > > that are performed against this UserDatabase are immediately > > available for use by the Realm. --> > > <Realm className="org.apache.catalina.realm.UserDatabaseRealm" > > debug="0" resourceName="UserDatabase"/> > > > > <!-- Comment out the old realm but leave here for now in case we > > need to go back quickly --> > > <!-- > > <Realm className="org.apache.catalina.realm.MemoryRealm" /> > > --> > > > > <!-- Replace the above Realm with one of the following to get a > >Realm > > stored in a database and accessed via JDBC --> > > > > <!-- > > <Realm className="org.apache.catalina.realm.JDBCRealm" > debug="99" > > driverName="org.gjt.mm.mysql.Driver" > > connectionURL="jdbc:mysql://localhost/authority" > > connectionName="test" connectionPassword="test" > > userTable="users" userNameCol="user_name" > >userCredCol="user_pass" > > userRoleTable="user_roles" roleNameCol="role_name" /> > > --> > > > > <!-- > > <Realm className="org.apache.catalina.realm.JDBCRealm" > debug="99" > > driverName="oracle.jdbc.driver.OracleDriver" > > connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL" > > connectionName="scott" connectionPassword="tiger" > > userTable="users" userNameCol="user_name" > >userCredCol="user_pass" > > userRoleTable="user_roles" roleNameCol="role_name" /> > > --> > > > > <!-- > > <Realm className="org.apache.catalina.realm.JDBCRealm" > debug="99" > > driverName="sun.jdbc.odbc.JdbcOdbcDriver" > > connectionURL="jdbc:odbc:CATALINA" > > userTable="users" userNameCol="user_name" > >userCredCol="user_pass" > > userRoleTable="user_roles" roleNameCol="role_name" /> > > --> > > > > <!-- Define the default virtual host --> > > <Host name="localhost" debug="0" appBase="webapps" > > unpackWARs="true" autoDeploy="true"> > > > > <!-- Normally, users must authenticate themselves to each web > >app > > individually. Uncomment the following entry if you would > >like > > a user to be authenticated the first time they encounter a > > resource protected by a security constraint, and then have > >that > > user identity maintained across *all* web applications > >contained > > in this virtual host. --> > > <!-- > > <Valve > >className="org.apache.catalina.authenticator.SingleSignOn" > > debug="0"/> > > --> > > > > <!-- Access log processes all requests for this virtual host. > By > > default, log files are created in the "logs" directory > >relative to > > $CATALINA_HOME. If you wish, you can specify a different > > directory with the "directory" attribute. Specify either > a > >relative > > (to $CATALINA_HOME) or absolute path to the desired > >directory. > > --> > > <!-- > > <Valve className="org.apache.catalina.valves.AccessLogValve" > > directory="logs" prefix="localhost_access_log." > >suffix=".txt" > > pattern="common" resolveHosts="false"/> > > --> > > > > <!-- Logger shared by all Contexts related to this virtual > host. > >By > > default (when using FileLogger), log files are created in > >the "logs" > > directory relative to $CATALINA_HOME. If you wish, you > can > >specify > > a different directory with the "directory" attribute. > >Specify either a > > relative (to $CATALINA_HOME) or absolute path to the > >desired > > directory.--> > > <Logger className="org.apache.catalina.logger.FileLogger" > > directory="logs" prefix="localhost_log." > suffix=".txt" > > timestamp="true"/> > > > > <!-- Define properties for each web application. This is only > >needed > > if you want to set non-default properties, or have web > >application > > document roots in places other than the virtual host's > >appBase > > directory. --> > > > > <!-- Tomcat Root Context --> > > <!-- > > <Context path="" docBase="ROOT" debug="0"/> > > --> > > > > <!-- Tomcat Examples Context --> > > <Context path="/examples" docBase="examples" debug="0" > > reloadable="true" crossContext="true"> > > <Logger className="org.apache.catalina.logger.FileLogger" > > prefix="localhost_examples_log." suffix=".txt" > > timestamp="true"/> > > <Ejb name="ejb/EmplRecord" type="Entity" > > home="com.wombat.empl.EmployeeRecordHome" > > remote="com.wombat.empl.EmployeeRecord"/> > > > > <!-- If you wanted the examples app to be able to edit the > > user database, you would uncomment the following entry. > > Of course, you would want to enable security on the > > application as well, so this is not done by default! > > The database object could be accessed like this: > > > > Context initCtx = new InitialContext(); > > Context envCtx = (Context) > >initCtx.lookup("java:comp/env"); > > UserDatabase database = > > (UserDatabase) envCtx.lookup("userDatabase"); > > --> > ><!-- > > <ResourceLink name="userDatabase" global="UserDatabase" > > type="org.apache.catalina.UserDatabase"/> > >--> > > > > > > <!-- PersistentManager: Uncomment the section below to test > >Persistent > > Sessions. > > > > saveOnRestart: If true, all active sessions will be > saved > > to the Store when Catalina is shutdown, regardless of > > other settings. All Sessions found in the Store will > be > > > > loaded on startup. Sessions past their expiration are > > ignored in both cases. > > maxActiveSessions: If 0 or greater, having too many > >active > > sessions will result in some being swapped out. > >minIdleSwap > > limits this. -1 or 0 means unlimited sessions are > >allowed. > > If it is not possible to swap sessions new sessions > >will > > be rejected. > > This avoids thrashing when the site is highly active. > > minIdleSwap: Sessions must be idle for at least this > long > > (in seconds) before they will be swapped out due to > > activity. > > 0 means sessions will almost always be swapped out > >after > > use - this will be noticeably slow for your users. > > maxIdleSwap: Sessions will be swapped out if idle for > >this > > long (in seconds). If minIdleSwap is higher, then it > >will > > override this. This isn't exact: it is checked > >periodically. > > -1 means sessions won't be swapped out for this > reason, > > although they may be swapped out for > maxActiveSessions. > > If set to >= 0, guarantees that all sessions found in > >the > > Store will be loaded on startup. > > maxIdleBackup: Sessions will be backed up (saved to the > >Store, > > but left in active memory) if idle for this long (in > >seconds), > > and all sessions found in the Store will be loaded on > >startup. > > If set to -1 sessions will not be backed up, 0 means > >they > > should be backed up shortly after being used. > > > > To clear sessions from the Store, set maxActiveSessions, > >maxIdleSwap, > > and minIdleBackup all to -1, saveOnRestart to false, > then > >restart > > Catalina. > > --> > > <!-- > > <Manager > >className="org.apache.catalina.session.PersistentManager" > > debug="0" > > saveOnRestart="true" > > maxActiveSessions="-1" > > minIdleSwap="-1" > > maxIdleSwap="-1" > > maxIdleBackup="-1"> > > <Store > >className="org.apache.catalina.session.FileStore"/> > > </Manager> > > --> > > <Environment name="maxExemptions" type="java.lang.Integer" > > value="15"/> > > <Parameter name="context.param.name" > >value="context.param.value" > > override="false"/> > > <Resource name="jdbc/EmployeeAppDb" auth="SERVLET" > > type="javax.sql.DataSource"/> > > <ResourceParams name="jdbc/EmployeeAppDb"> > > > ><parameter><name>username</name><value>sa</value></parameter> > > <parameter><name>password</name><value></value></parameter> > > <parameter><name>driverClassName</name> > > <value>org.hsql.jdbcDriver</value></parameter> > > <parameter><name>url</name> > > <value>jdbc:HypersonicSQL:database</value></parameter> > > </ResourceParams> > > <Resource name="mail/Session" auth="Container" > > type="javax.mail.Session"/> > > <ResourceParams name="mail/Session"> > > <parameter> > > <name>mail.smtp.host</name> > > <value>localhost</value> > > </parameter> > > </ResourceParams> > > <ResourceLink name="linkToGlobalResource" > > global="simpleValue" > > type="java.lang.Integer"/> > > </Context> > > > > > > <Context path="" docBase="/var/NNT-Official" debug="0" > > reloadable="false" crossContext="true"> > > <Logger className="org.apache.catalina.logger.FileLogger" > > prefix="NNT_context-log." suffix=".txt" > > timestamp="true"/> > > </Context> > ><!-- > > <Context path="/tony" > > docBase="/home/colson/develop/source/NNT" > > debug="9" > > reloadable="true" > > crossContext="true"> > > <Logger className="org.apache.catalina.logger.FileLogger" > > prefix="tony_test." suffix=".txt" > > timestamp="true"/> > > </Context> > >--> > > </Host> > > > > </Engine> > > > > </Service> > > > > <!-- The MOD_WEBAPP connector is used to connect Apache 1.3 with > >Tomcat 4.0 > > as its servlet container. Please read the README.txt file coming > >with > > the WebApp Module distribution on how to build it. > > (Or check out the "jakarta-tomcat-connectors/webapp" CVS > >repository) > > > > To configure the Apache side, you must ensure that you have the > > "ServerName" and "Port" directives defined in "httpd.conf". > Then, > > lines like these to the bottom of your "httpd.conf" file: > > > > LoadModule webapp_module libexec/mod_webapp.so > > WebAppConnection warpConnection warp localhost:8008 > > WebAppDeploy examples warpConnection /examples/ > > > > The next time you restart Apache (after restarting Tomcat, if > >needed) > > the connection will be established, and all applications you > make > > visible via "WebAppDeploy" directives can be accessed through > >Apache. > > --> > > > > <!-- Define an Apache-Connector Service --> > ><!-- > > <Service name="Tomcat-Apache"> > > > > <Connector > >className="org.apache.catalina.connector.warp.WarpConnector" > > port="8008" minProcessors="5" maxProcessors="75" > > enableLookups="true" appBase="webapps" > > acceptCount="10" debug="0"/> > > > > <Engine className="org.apache.catalina.connector.warp.WarpEngine" > > name="Apache" debug="0"> > > > > <Logger className="org.apache.catalina.logger.FileLogger" > > prefix="apache_log." suffix=".txt" > > timestamp="true"/> > > > > <Realm className="org.apache.catalina.realm.MemoryRealm" /> > > > > </Engine> > > > > </Service> > >--> > > > > <Service name="NNT - Tony's NNT Testing Service"> > > > > <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> > > <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" > > port="9000" > > minProcessors="5" > > maxProcessors="75" > > enableLookups="true" > > redirectPort="8443" > > acceptCount="100" > > debug="0" > > connectionTimeout="20000" > > useURIValidationHack="false" > > disableUploadTimeout="true" /> > > > > <!-- Note : To disable connection timeouts, set connectionTimeout > >value > > to -1 --> > > > > > > <!-- Define the top level container in our container hierarchy --> > > <Engine name="Standalone" > > defaultHost="localhost" > > debug="0"> > > > > <!-- Because this Realm is here, an instance will be shared > >globally --> > > > > <!-- > > <Realm className="org.apache.catalina.realm.JDBCRealm" > debug="99" > > driverName="oracle.jdbc.driver.OracleDriver" > > connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL" > > connectionName="scott" connectionPassword="tiger" > > userTable="users" userNameCol="user_name" > >userCredCol="user_pass" > > userRoleTable="user_roles" roleNameCol="role_name" /> > > --> > > > > <!-- Define the default virtual host --> > > <Host name="localhost" > > debug="0" > > appBase="/home/colson/NNT" > > unpackWARs="true" > > autoDeploy="true"> > > > > <Valve > >className="org.apache.catalina.valves.RequestDumperValve"/> > > > > <!-- Access log processes all requests for this virtual host. > By > > default, log files are created in the "logs" directory > >relative to > > $CATALINA_HOME. If you wish, you can specify a different > > directory with the "directory" attribute. Specify either > a > >relative > > (to $CATALINA_HOME) or absolute path to the desired > >directory. > > --> > > > > <Valve className="org.apache.catalina.valves.AccessLogValve" > > directory="/home/colson/NNT/logs" > > prefix="buggy_access_log." > > suffix=".txt" > > pattern="common" > > resolveHosts="false"/> > > > > > > <!-- Logger shared by all Contexts related to this virtual > host. > >By > > default (when using FileLogger), log files are created in > >the "logs" > > directory relative to $CATALINA_HOME. If you wish, you > can > >specify > > a different directory with the "directory" attribute. > >Specify either a > > relative (to $CATALINA_HOME) or absolute path to the > >desired > > directory.--> > > > > <Logger className="org.apache.catalina.logger.FileLogger" > > directory="/home/colson/NNT/logs" > > prefix="buggy_log." > > suffix=".txt" > > timestamp="true"/> > > > > <!-- Define properties for each web application. This is only > >needed > > if you want to set non-default properties, or have web > >application > > document roots in places other than the virtual host's > >appBase > > directory. --> > > > > > > <Context path="" > > docBase="/home/colson/NNT" > > debug="0" > > reloadable="true" > > useNaming="true" > > crossContext="true"> > > > > <Logger className="org.apache.catalina.logger.FileLogger" > > directory="/home/colson/NNT/logs" > > prefix="buggy_context-log." > > suffix=".txt" > > timestamp="true"/> > > > > <Environment name="Christmas" value="Tree" > type="java.lang.String" > >/> > > > > > > <Resource name = "java:comp/env/jdbc/NNT" > > auth = "Servlet" > > type = "javax.sql.DataSource" > > description = "Main database for NNT applications."/> > > > > > > <ResourceParams name="java:comp/env/jdbc/NNT"> > > > > > > <parameter> > > <name>factory</name> > > <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> > > </parameter> > > <parameter> > > <name>driverClassName</name> > > <value>org.postgresql.Driver</value> > > </parameter> > > <parameter> > > <name>url</name> > > <!-- > > <value>jdbc:postgresql://127.0.0.1:5432/mydb</value> > > --> > > <value>jdbc:postgresql://horse:5432/NNT</value> > > </parameter> > > <parameter> > > <name>username</name> > > <value>user</value> > > </parameter> > > <parameter> > > <name>password</name> > > <value>passwd</value> > > </parameter> > > <parameter> > > <name>maxActive</name> > > <value>20</value> > > </parameter> > > <parameter> > > <name>maxIdle</name> > > <value>10</value> > > </parameter> > > <parameter> > > <name>maxWait</name> > > <value>-1</value> > > </parameter> > > > > <!-- Garbage collection for abandoned database connections --> > > > > <parameter> > > <name>removeAbandoned</name> > > <value>true</value> > > </parameter> > > > > <!-- Default is 300 > > <parameter> > > <name>removeAbandonedTimeout</name> > > <value>60</value> > > </parameter> > > --> > > > > <parameter> > > <name>logAbandoned</name> > > <value>true</value> > > </parameter> > > > > > > </ResourceParams> > > > > > > </Context> > > </Host> > > > > </Engine> > > > > </Service> > > > > <Service name="NNT - Tony's Investing Testing Service"> > > > > <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> > > <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" > > port="9001" > > minProcessors="5" > > maxProcessors="75" > > enableLookups="true" > > redirectPort="8443" > > acceptCount="100" > > debug="0" > > connectionTimeout="20000" > > useURIValidationHack="false" > > disableUploadTimeout="true" /> > > > > <!-- Note : To disable connection timeouts, set connectionTimeout > >value > > to -1 --> > > > > > > <!-- Define the top level container in our container hierarchy --> > > <Engine name="Standalone" > > defaultHost="localhost" > > debug="0"> > > > > <!-- Because this Realm is here, an instance will be shared > >globally --> > > > > <!-- > > <Realm className="org.apache.catalina.realm.JDBCRealm" > debug="99" > > driverName="oracle.jdbc.driver.OracleDriver" > > connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL" > > connectionName="scott" connectionPassword="tiger" > > userTable="users" userNameCol="user_name" > >userCredCol="user_pass" > > userRoleTable="user_roles" roleNameCol="role_name" /> > > --> > > > > <!-- Define the default virtual host --> > > <Host name="localhost" > > debug="0" > > appBase="/home/colson/WebInvest" > > unpackWARs="true" > > autoDeploy="true"> > > > > <Valve > >className="org.apache.catalina.valves.RequestDumperValve"/> > > > > <!-- Access log processes all requests for this virtual host. > By > > default, log files are created in the "logs" directory > >relative to > > $CATALINA_HOME. If you wish, you can specify a different > > directory with the "directory" attribute. Specify either > a > >relative > > (to $CATALINA_HOME) or absolute path to the desired > >directory. > > --> > > > > <Valve className="org.apache.catalina.valves.AccessLogValve" > > directory="/home/colson/WebInvest/logs" > > prefix="buggy_access_log." > > suffix=".txt" > > pattern="common" > > resolveHosts="false"/> > > > > > > <!-- Logger shared by all Contexts related to this virtual > host. > >By > > default (when using FileLogger), log files are created in > >the "logs" > > directory relative to $CATALINA_HOME. If you wish, you > can > >specify > > a different directory with the "directory" attribute. > >Specify either a > > relative (to $CATALINA_HOME) or absolute path to the > >desired > > directory.--> > > > > <Logger className="org.apache.catalina.logger.FileLogger" > > directory="/home/colson/WebInvest/logs" > > prefix="buggy_log." > > suffix=".txt" > > timestamp="true"/> > > > > <!-- Define properties for each web application. This is only > >needed > > if you want to set non-default properties, or have web > >application > > document roots in places other than the virtual host's > >appBase > > directory. --> > > > > > > <Context path="" > > docBase="/home/colson/WebInvest" > > debug="0" > > reloadable="true" > > crossContext="true"> > > > > <Logger className="org.apache.catalina.logger.FileLogger" > > directory="/home/colson/WebInvest/logs" > > prefix="buggy_context-log." > > suffix=".txt" > > timestamp="true"/> > > </Context> > > </Host> > > > > </Engine> > > > > </Service> > ></Server> > > > >====================== END SERVER.XML =========================== > > > > > > > > > >-----Original Message----- > >Hi Tony, > > > >I have - and it allways proved to be my fault in the end ;) I would > >suggest that you post your server xml to have someone look it over. > >Don't forget to change your connect data and password before though! Is > >the resource bound in the appropriate context or globally? > > > >Cheers, Jan > > > >> -----Ursprungliche Nachricht----- > >> Dear Tomcat Users, > >> > >> I am using Tomcat 4 and trying to use JNDI to connect to a > >> data source and environment variables. I get the following > >> when trying to access the InitialContext via > >> > >> DataSource ds = (DataSource)initialContext.lookup( > >> "java:comp/env/jdbc/mydb" ); > >> > >> javax.naming.NameNotFoundException: Name comp is not bound in > >> this Context > >> > >> I have read all the documentation many times and cannot see > >> what I am doing wrong. The server.xml seems to be fine; I > >> can see the appropriate context entries in the tomcat manager > >> application. But for some reason the comp namespace does not > >> seem to get set up; basically Tomcat doesn't do what the > >> documentation says it should. > >> > >> Has anybody encountered this type of situation before and > >> found a solution? > >> Thanks > >> > >> Tony > > > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > This e-mail, including any attachments, is a confidential business > communication, and may contain information that is confidential, > proprietary and/or privileged. This e-mail is intended only for the > individual(s) to whom it is addressed, and may not be saved, copied, > printed, disclosed or used by anyone else. If you are not the(an) > intended recipient, please immediately delete this e-mail from your > computer system and notify the sender. Thank you. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
