[prev in list] [next in list] [prev in thread] [next in thread] 

List:       castor-dev
Subject:    Re: [castor-dev]  Can't create JDO instance using Tomcat & JNDI
From:       Patrick van Kann <patrick.vankann () fortune-cookie ! com>
Date:       2003-02-25 16:43:34
[Download RAW message or body]

This might also help. I created an ObjectFactory that puts a JDO 
DataObject in JNDI at startup as part of a Castor taglib project I have 
just completed. As part of it I also configured the DataObject to use a 
Tyrex TransactionManager - this replicates a lot of the functions you 
would get in a full EJB environment, although you still need to manage 
the transactions yourself.

I have a document that explains this here - to get the Castor 
ObjectFactory and Tyrex ObjectFactory classes you will need to download 
the castor-taglib.jar and put it on your project classpath.

http://castor-taglib.sourceforge.net/installing-tomcat4.1.8.html

Patrick

Neil Aggarwal wrote:

>Sylvie:
>
>Here is a document that describes how I was able to
>set-up castor under Tomcat using JNDI.
>
>I hope it helps.
>
>Thanks,
>	Neil.
>
>--
>Neil Aggarwal
>JAMM Consulting, Inc.    (972) 612-6056, http://www.JAMMConsulting.com
>Custom Internet Development    Websites, Ecommerce, Java, databases
>
>
>  
>
>>-----Original Message-----
>>From: PALLUEL Sylvie [mailto:sylvie.palluel@cnamts.fr]
>>Sent: Tuesday, February 25, 2003 8:45 AM
>>To: castor-dev@exolab.org
>>Subject: [castor-dev] Can't create JDO instance using Tomcat & JNDI
>>
>>
>>Hi,
>>
>>I am trying to configure castor 0.9.4 thru JNDI using 
>>the DBCP pooling mechanism.  My platform is Tomcat 4.0.3, 
>>and MySQL 3.23.49.
>>
>>I've found one of your messages in Castor-Dev list archive (Friday,
>>November 01, 2002 10:10 AM).
>>
>>I have the same pb you seemed to have then.
>>
>>You said  "I got it to work" , but you don't say how .
>>
>>Could you give me the right code for web.xml, server.xml , database.xml
>>and  the getJDO method ?
>>
>>Thanks for your help.
>>
>>Sylvie.
>>
>>___________________
>>CREDI RA
>>Sylvie Palluel
>>
>>sylvie.palluel@cnamts.fr
>>___________________
>>
>>
>>------------------------------------------------------------------------
>>--------
>>
>>From: Neil Aggarwal 
>>Subject: Re: [castor-dev] Can't create JDO instance using Tomcat & JNDI 
>>Date: Sat, 02 Nov 2002 21:12:28 -0800 
>>
>>------------------------------------------------------------------------
>>--------
>>
>>Title: RE: [castor-dev] Can't create JDO instance using Tomcat & JNDI
>>Aadithya:
>> 
>>Thanks for the info.  I got it to work.
>> 
>>Thanks,
>>    Neil
>> 
>>--
>>Neil Aggarwal
>>JAMM Consulting, Inc.    (972) 612-6056, http://www.JAMMConsulting.com
>>Custom Internet Development    Websites, Ecommerce, Java, databases
>>
>>
>>-----Original Message-----
>>From: Aadithya Deshpande [mailto:aadi@clubmom-inc.com]
>>Sent: Friday, November 01, 2002 9:19 AM
>>To: castor-dev@exolab.org
>>Subject: Re: [castor-dev] Can't create JDO instance using Tomcat & JNDI
>>
>>
>>Is "jdo" a context that's automatically created for you by Tomcat? 
>>
>>I don't know much about Tomcat, and it's JNDI namespacing, but in Resin,
>>in order to provide the jdo/whatever naming, I had to create a startup
>>servlet that would create the "jdo" subcontext like so:
>>
>>InitialContext initCtx = ( new InitialContext()).lookup(
>>"java:comp/env" ); 
>>Context ctx = initCtx.createSubcontext( "jdo" ); 
>>ctx.bind( "whatever", jdo ) 
>>
>>there's some error checking in there, too, to check if that subcontext
>>exists ( so multiple startup servlets could be provided ), but that's
>>the basic gist of it.
>>
>>-a 
>>
>>
>>
>>
>>-----Original Message----- 
>>From: Neil Aggarwal [mailto:neil@JAMMConsulting.com] 
>>Sent: Friday, November 01, 2002 10:10 AM 
>>To: castor-dev@exolab.org 
>>Subject: [castor-dev] Can't create JDO instance using Tomcat & JNDI 
>>
>>
>>
>>Hello: 
>>
>>I am tryng to configure castor 0.9.4 thru JNDI using 
>>the JBCP pooling mechanism.  My platform is Tomcat 4.0.6, 
>>Apache 2.0.43, and MySQL 3.23.53a on RedHat Linux 8.0. 
>>
>>When I try to load the JDO object from the context, here is 
>>the error I get: 
>>
>>javax.naming.NamingException: Cannot create resource instance 
>>        at 
>>org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFact
>>ory. 
>>java:167) 
>>        at
>>javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:311)
>>
>>        at
>>org.apache.naming.NamingContext.lookup(NamingContext.java:834) 
>>        at
>>org.apache.naming.NamingContext.lookup(NamingContext.java:181) 
>>        at
>>org.apache.naming.NamingContext.lookup(NamingContext.java:822) 
>>        at
>>org.apache.naming.NamingContext.lookup(NamingContext.java:181) 
>>        at
>>org.apache.naming.NamingContext.lookup(NamingContext.java:822) 
>>        at
>>org.apache.naming.NamingContext.lookup(NamingContext.java:181) 
>>        at
>>org.apache.naming.NamingContext.lookup(NamingContext.java:822) 
>>        at
>>org.apache.naming.NamingContext.lookup(NamingContext.java:194) 
>>        at
>>org.apache.naming.SelectorContext.lookup(SelectorContext.java:183) 
>>        at javax.naming.InitialContext.lookup(InitialContext.java:354) 
>>        at top.Utils.getJDO(Utils.java:31) 
>>
>>Here is the code that I am using to get the JDO instance: 
>>package top; 
>>// imports 
>>public class Utils { 
>>  public static synchronized JDO getJDO() throws NamingException, 
>>SQLException, MappingException { 
>>    ClassLoader loader = Utils.class.getClassLoader(); 
>>    URL url = "loader.getResource("database.xml"); 
>>    JDO.loadConfiguration(url.toString()); 
>>    InitialContext ctx = new InitialContext(); 
>>    return (JDO) ctx.lookup( "java:comp/env/jdo/videoSearchPPV" ); 
>>  } 
>>} 
>>
>>Here is my web.xml: 
>><?xml version="1.0" encoding="ISO-8859-1"?> 
>><!DOCTYPE web-app 
>>    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
>>    "http://java.sun.com/dtd/web-app_2_3.dtd"> 
>><web-app> 
>>  <resource-ref> 
>>    <description>Resource reference to DataSource</description> 
>>    <res-ref-name>jdbc/videoSearchPPV</res-ref-name> 
>>    <res-type>javax.sql.DataSource</res-type> 
>>    <res-auth>Container</res-auth> 
>>  </resource-ref> 
>>  <resource-ref> 
>>    <description>Resource reference to JDO</description> 
>>    <res-ref-name>jdo/videoSearchPPV</res-ref-name> 
>>    <res-type>org.exolab.castor.jdo.JDO</res-type> 
>>    <res-auth>Container</res-auth> 
>>  </resource-ref> 
>></web-app> 
>>
>>Here is my database.xml: 
>><?xml version="1.0" encoding="UTF-8"?> 
>><!DOCTYPE databases PUBLIC "-//EXOLAB/Castor JDO Configuration DTD
>>Version 
>>1.0//EN" "http://castor.exolab.org/jdo-conf.dtd"> 
>><database name="videoSearchPPV" engine="mysql"> 
>>  <jndi name="java:comp/env/jdbc/videoSearchPPV" /> 
>>  <mapping href="mapping.xml"/> 
>></database> 
>>
>>Here is what I put in tomcat's server.xml: 
>>  <Service name="Tomcat-Apache"> 
>>    <Connector ...> 
>>    <Engine ...> 
>>      <DefaultContext reloadable="true" > 
>>        <Resource auth="Container" name="jdo/videoSearchPPV" 
>>scope="Shareable" type="org.exolab.castor.jdo.JDO"/> 
>>        <Resource auth="Container" name="jdbc/videoSearchPPV" 
>>scope="Shareable" type="javax.sql.DataSource"/> 
>>        <ResourceParams name="jdbc/videoSearchPPV"> 
>>          <parameter> 
>>            <name>factory</name> 
>> 
>><value>org.apache.commons.dbcp.BasicDataSourceFactory</value> 
>>          </parameter> 
>>          <parameter> 
>>            <name>url</name> 
>>            <value>jdbc:mysql://localhost:3306/videoSearchPPV</value> 
>>          </parameter> 
>>          <parameter> 
>>            <name>password</name> 
>>            <value>[The password to my database]</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>videoSearchPPV</value> 
>>          </parameter> 
>>          <parameter> 
>>            <name>maxIdle</name> 
>>            <value>30000</value> 
>>          </parameter> 
>>        </ResourceParams> 
>>      </DefaultContext> 
>>
>>Any ideas? 
>>
>>Thanks, 
>>        Neil. 
>>
>>
>>
>>-- 
>>Neil Aggarwal 
>>JAMM Consulting, Inc.    (972) 612-6056, http://www.JAMMConsulting.com 
>>Custom Internet Development    Websites, Ecommerce, Java, databases 
>>
>>
>>
>>
>>
>>
>>**********************************************************************
>>This email and any files transmitted with it are confidential and
>>intended solely for the use of the individual or entity to whom they
>>are addressed. If you have received this email in error please notify
>>the system manager.
>>
>>This footnote also confirms that this email message has been swept by
>>MIMEsweeper for the presence of computer viruses.
>>
>>www.mimesweeper.com
>>**********************************************************************
>>
>>----------------------------------------------------------- 
>>If you wish to unsubscribe from this mailing, send mail to
>>minimalist@exolab.org with a subject of:
>>	unsubscribe castor-dev
>>

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
minimalist@exolab.org with a subject of:
	unsubscribe castor-dev

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic