-----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]

Reply via email to