Cristi,

I thin Ryan is trying to bind a Castor JDO instance to Tomcat's JNDI service on 
startup of Tomcat, configured through Catalina's
server.xml file. I might be wrong, though, so let's see what Ryan really wants .. ;-).

Werner

Cristi wrote:

> Hi Ryan,
>
> I did this like a month ago. I was also scratching my head in search for
> good docs on this topic and I found some pointers and help on this list.
>
> The setup that I have is tomcat + commons DBCP.
>
> Note though that there is at least another way I haven't tried yet and that
> is by setting up Castor JDO database pooling with poolman.
>
> So here it goes:
>
> First you need to make sure you have the DBCP needed jars:
> commons-dbcp.jar; commons-pool.jar; commons-collections.jar;
> <your jdbc driver jar>
>
> you can either put them into the tomcat's commons/lib directory if the JNDI
> resource is global or in your application's lib directory if the JNDI
> resource is local to the application context.
>
> Second you need to create the JNDI resource in your server.xml file. Below,
> I paste as an example mine:
>
> Note: this example uses mysql settings.
>
> --------
>
> <Resource auth="Container" name="jdbc/alias_database_name"
> scope="Shareable" type="javax.sql.DataSource"/>
>                                          <ResourceParams
> name="jdbc/alias_database_name">
>                                                  <parameter>
>                                                          <name>factory</name>
>                                                          
><value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>                                                  </parameter>
>                                                  <parameter>
>                                                          <name>url</name>
>                                                          
><value>jdbc:mysql://your.database.server:3306/database_name</value>
>                                                  </parameter>
>                                                  <parameter>
>                                                          <name>password</name>
>                                                          
><value>this_is_the_password</value>
>                                                  </parameter>
>                                                  <parameter>
>                                                          <name>maxWait</name>
>                                                          <value>100</value>
>                                                  </parameter>
>                                                  <parameter>
>                                                          <name>maxActive</name>
>                                                          <value>100</value>
>                                                  </parameter>
>                                                  <parameter>
>                                                          <name>driverClassName</name>
>                                                          
><value>com.mysql.jdbc.Driver</value>
>                                                  </parameter>
>                                                  <parameter>
>                                                          <name>username</name>
>                                                          
><value>this_is_the_username</value>
>                                                  </parameter>
>                                                  <parameter>
>                                                          <name>maxIdle</name>
>                                                          <value>30000</value>
>                                                  </parameter>
>                                          </ResourceParams>
>
> ----------
>
> you can put this inside your application <context> tag.
>
> Third, you need to add this snippet to your application's web.xml file
> inside <web-app> tag:
>
> ---------
>    <resource-ref>
>      <description>DB Connection</description>
>      <res-ref-name>jdbc/alias_database_name</res-ref-name>
>      <res-type>javax.sql.DataSource</res-type>
>      <res-auth>Container</res-auth>
>    </resource-ref>
> ---------
>
> Fourth, your database.xml file should look like:
>
> ---------
> <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor JDO Configuration DTD Version
> 1.0//EN"
>                             "http://castor.exolab.org/jdo-conf.dtd";>
> <database name="alias_database_name" engine="mysql">
>      <jndi name="java:comp/env/jdbc/alias_database_name" />
>      <mapping href="mapping.xml"/>
> </database>
>
> ---------
>
> Fifth is the test:
>
> when you initialize your JDO instance try:
>
> jdo.setDatabasePooling(true);
>
> and then
>
>        logger.println("Pooling: "+jdo.getDatabasePooling());
>        logger.println("Autostore: "+jdo.isAutoStore());
>        logger.println("Lock timeout: "+jdo.getLockTimeout());
>        logger.println("Transaction Manager: "+jdo.getTransactionManager());
>
> and check if Transaction manager is java/TransactionManager
>
> -----
>
> Sixth fire up netstat -an and watch your connections to the database :-)
>
> hope I covered,
> cristi
>
> At 04:14 PM 9/19/2002 -0400, you wrote:
> >Has anyone attempted/been successful in configuring Castor JDO via JNDI with
> >Tomcat 4? If so, would you mind sharing? Thanks.
> >
> >Ryan-
> >
> >-----------------------------------------------------------
> >If you wish to unsubscribe from this mailing, send mail to
> >[EMAIL PROTECTED] with a subject of:
> >         unsubscribe castor-dev
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
>         unsubscribe castor-dev

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to