Any one have a better document on howto on JNDI & Tomcat than this link http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource- examples-howto.html?
I am trying to set up JNDI to work with Tomcat 5.5.7 I had followed instructions on apache.org but have not able to get it work yet. Any hints will be appreciate. Thank you. Tom ---- Original message ---- >Date: Tue, 19 Jun 2007 12:35:10 -0400 >From: Christopher Schultz <[EMAIL PROTECTED]> >Subject: Re: Data Sources Overwritten >To: Tomcat Users List <users@tomcat.apache.org> > >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > >Jeff, >You have not followed my suggestions: > >1. Remove all JNDI datasource information from server.xml and never put >it back in. > >2. Use a META-INF/context.xml file and bundle it into your WAR file for >deployment. context.xml should include 100% of the JNDI data source >configuration that you need for your app. Consider using <Resource> and >specifying everything instead of trying to use <Resource> /and/ ><ResourceParams>. > >3. Stop using the Manager to do anything at all. > >This will allow your application to setup its own data source instead of >relying on the server to have it ready to go before deployment. >Re-deployments will re-setup the connection, just as it was intended. > >This is all documented (poorly, I might add), on this page: >http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource- examples-howto.html > >Under "MySQL DBCP Example / 2. server.xml configuration", replace the >direction to put the configuration "into server.xml inside your ><Context> element" with "into context.xml inside your <Context> element". > >- -chris > >Jeffrey C. Baldwin wrote: >> Also, here is a copy of my server.xml. >> >> <?xml version='1.0' encoding='utf-8'?> >> <Server> >> <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener "/> >> <Listener >> className="org.apache.catalina.mbeans.GlobalResourcesLifecycl eListener"/> >> <GlobalNamingResources> >> <Environment name="simpleValue" type="java.lang.Integer" value="30"/> >> <Resource auth="Container" description="User database that can be >> updated and saved" name="UserDatabase" >> type="org.apache.catalina.UserDatabase"/> >> <ResourceParams name="UserDatabase"> >> <parameter> >> <name>factory</name> >> <value>org.apache.catalina.users.MemoryUserDatabaseFactory</v alue> >> </parameter> >> <parameter> >> <name>pathname</name> >> <value>conf/tomcat-users.xml</value> >> </parameter> >> </ResourceParams> >> </GlobalNamingResources> >> <Service name="Catalina"> >> <Connector acceptCount="100" connectionTimeout="20000" >> disableUploadTimeout="true" port="8080" redirectPort="8443" >> maxSpareThreads="75" maxThreads="150" >> minSpareThreads="25"> >> </Connector> >> <Connector port="8009" protocol="AJP/1.3" >> protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandle r" >> redirectPort="8443"> >> </Connector> >> <Engine defaultHost="localhost" name="Catalina"> >> <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" >> autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> >> <Valve className="org.apache.catalina.valves.AccessLogValve" >> directory="logs" prefix="localhost_access_log." suffix=".txt" >> pattern="common" resolveHosts="fal >> se" /> >> <Logger className="org.apache.catalina.logger.FileLogger" >> directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true" /> >> <Context debug="0" docBase="mrs2" path="/mrs2" reloadable="true"> >> <Logger className="org.apache.catalina.logger.FileLogger" >> prefix="localhost_mrs2_log." suffix=".txt" timestamp="true"/> >> <Resource name="jdbc/ZosDataSource" auth="Container" >> type="javax.sql.DataSource"></Resource> >> <ResourceParams name="jdbc/ZosDataSource"> >> <parameter> >> <name>factory</name> >> >> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> >> </parameter> >> <parameter> >> <name>maxActive</name> >> <value>5</value> >> </parameter> >> <parameter> >> <name>maxIdle</name> >> <value>1</value> >> </parameter> >> <parameter> >> <name>maxWait</name> >> <value>10000</value> >> </parameter> >> <parameter> >> <name>username</name> >> <value>TS59MRS</value> >> </parameter> >> <parameter> >> <name>password</name> >> <value>password</value> >> </parameter> >> <parameter> >> <name>driverClassName</name> >> <value>com.ibm.db2.jcc.DB2Driver</value> >> </parameter> >> <parameter> >> <name>url</name> >> >> <value>jdbc:db2://123.456.789.120:5019/NETSNDB01</value> <!-- >> production 123.456.789.120:5019/NETSNDB01 --> >> </parameter> >> </ResourceParams> >> <Resource name="jdbc/mssql2000ds" auth="Container" >> type="javax.sql.DataSource"></Resource> >> <ResourceParams name="jdbc/mssql2000ds"> >> <parameter> >> <name>factory</name> >> >> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> >> </parameter> >> <parameter> >> <name>maxActive</name> >> <value>10</value> >> </parameter> >> <parameter> >> <name>maxIdle</name> >> <value>1</value> >> </parameter> >> <parameter> >> <name>maxWait</name> >> <value>10000</value> >> </parameter> >> <parameter> >> <name>username</name> >> <value>rreddy</value> >> </parameter> >> <parameter> >> <name>password</name> >> <value>password</value> >> </parameter> >> <parameter> >> <name>driverClassName</name> >> <value>net.sourceforge.jtds.jdbc.Driver</value> >> </parameter> >> <parameter> >> <name>url</name> >> >> <value>jdbc:jtds:sqlserver://123.456.789.96/mrs;user=rreddy;p assword=pv123ankita</value> >> </parameter> >> </ResourceParams> >> </Context> >> </Host> >> <Logger className="org.apache.catalina.logger.FileLogger" >> prefix="catalina_log." suffix=".txt" timestamp="true"/> >> <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/> >> </Engine> >> </Service> >> </Server> >> >> >> >> Jeffrey C. Baldwin wrote: >>> Chris, >>> >>> Thank you for the time. However, I'm still not having any luck... >>> >>> Again, I have the entries in server.xml, so if I restart the Tomcat >>> service AFTER deploying the app, all is well. However, I want the >>> application developers to be able to deploy their app and not have to, >>> or need to contact me to, restart the Tomcat service. >>> >>> Thanks again! >>> >>> In: >>> /usr/local/tomcat/webapps/mrs2/META-INF >>> >>> I have: >>> >>> <?xml version='1.0' encoding='utf-8'?> >>> <Context docBase="/usr/local/tomcat/webapps/mrs2" path="/mrs2" >>> workDir="work/Catalina/localhost/mrs2"> >>> <Resource auth="Container" description="zos DB2 Connection" >>> name="jdbc/ZosDataSource" type="javax.sql.DataSource"/> >>> <Resource auth="Container" description="local DB2 Connection" >>> name="jdbc/db2ds" type="javax.sql.DataSource"/> >>> <Resource auth="Container" description="msql DB Connection" >>> name="jdbc/mssql2000ds" type="javax.sql.DataSource"/> >>> <ResourceParams name="jdbc/ZosDataSource"> >>> <parameter> >>> <name>maxWait</name> >>> <value>10000</value> >>> </parameter> >>> <parameter> >>> <name>maxActive</name> >>> <value>2</value> >>> </parameter> >>> <parameter> >>> <name>password</name> >>> <value>test</value> >>> </parameter> >>> <parameter> >>> <name>url</name> >>> <value>jdbc:db2://123.456.789.120:5019/NETSNDB01</value> >>> </parameter> >>> <parameter> >>> <name>driverClassName</name> >>> <value>com.ibm.db2.jcc.DB2Driver</value> >>> </parameter> >>> <parameter> >>> <name>maxIdle</name> >>> <value>1</value> >>> </parameter> >>> <parameter> >>> <name>username</name> >>> <value>TS59MRS</value> >>> </parameter> >>> </ResourceParams> >>> <ResourceParams name="jdbc/db2ds"> >>> <parameter> >>> <name>driverClassName</name> >>> <value></value> >>> </parameter> >>> </ResourceParams> >>> <ResourceParams name="jdbc/mssql2000ds"> >>> <parameter> >>> <name>maxWait</name> >>> <value>10000</value> >>> </parameter> >>> <parameter> >>> <name>maxActive</name> >>> <value>2</value> >>> </parameter> >>> <parameter> >>> <name>password</name> >>> <value>password</value> >>> </parameter> >>> <parameter> >>> <name>url</name> >>> <value>jdbc:jtds:sqlserver://123.456.789.96/mrsuat;user=rredd y;password=password</value> >>> </parameter> >>> <parameter> >>> <name>driverClassName</name> >>> <value>net.sourceforge.jtds.jdbc.Driver</value> >>> </parameter> >>> <parameter> >>> <name>maxIdle</name> >>> <value>1</value> >>> </parameter> >>> <parameter> >>> <name>username</name> >>> <value>rreddy</value> >>> </parameter> >>> </ResourceParams> >>> </Context> >>> >>> >>> Christopher Schultz wrote: >>>> Jeffrey, >>>> >>>> Jeffrey C. Baldwin wrote: >>>>> I appreciate all the input guys. I put everything into server.xml and >>>>> the application is working great. >>>> You should put that setup into META-INF/context.xml in your webapp >>>> directory (or your WAR file) instead of into server.xml. This is likely >>>> to fix your problem. >>>> >>>>> So, my question is, I was trying to set it up so that my developers >>>>> could just deploy/undeploy/stop/start their apps all through the web, >>>>> w/out needing shell access to the server. Is there a way for them to >>>>> restart the Tomcat service through a web interface? >>>> Restart the entire Tomcat service? I don't think Tomcat includes this >>>> capability. You'd have to write your own, separate utility app that can >>>> take down and restart Tomcat. >>>> >>>>> Is it normal that they should have to restart the entire Tomcat service >>>>> for their app to be able to talk to the configured database connections >>>>> in server.xml? >>>> No, it's not. Configuring those connections in context.xml will >>>> certainly alleviate this problem. >>>> >>>> -chris >>>> >>> --------------------------------------------------------- ------------ >>> To start a new topic, e-mail: users@tomcat.apache.org >>> To unsubscribe, e-mail: users- [EMAIL PROTECTED] >>> For additional commands, e-mail: users- [EMAIL PROTECTED] >>> >>> >>> --------------------------------------------------------- ------------ >>> To start a new topic, e-mail: users@tomcat.apache.org >>> To unsubscribe, e-mail: users- [EMAIL PROTECTED] >>> For additional commands, e-mail: users- [EMAIL PROTECTED] >>> >> >> ---------------------------------------------------------- ----------- >> To start a new topic, e-mail: users@tomcat.apache.org >> To unsubscribe, e-mail: users- [EMAIL PROTECTED] >> For additional commands, e-mail: users- [EMAIL PROTECTED] >> >-----BEGIN PGP SIGNATURE----- >Version: GnuPG v1.4.7 (MingW32) >Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > >iD8DBQFGeAW+9CaO5/Lv0PARAuPsAJ0YG9txmGYz3GnCLSpdECzWoZNE9wCd GBf8 >mISkIX/kQ+mRGOgeYJ1D6Ps= >=BdTV >-----END PGP SIGNATURE----- > >------------------------------------------------------------ --------- >To start a new topic, e-mail: users@tomcat.apache.org >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: users- [EMAIL PROTECTED] > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]