-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Tom,
1. DO NOT hijack threads. 2. DO post the things you have already tried. - -chris Tom Miller wrote: > 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> >> > 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] >> - ------------------------------------------------------------ > --------- 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] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGeFdM9CaO5/Lv0PARAidyAJ9VB7T8MuNK99A9b3DM/DVOY52w2gCfQq+r QZtVQUpYeBJaK/UtZcZjOjQ= =Fjfe -----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: [EMAIL PROTECTED]