Java Open Transaction Manager and Tomcat

  • Thread starter Anders Steinlein
  • Start date
A

Anders Steinlein

I can't seem to get JOTM (Java Open Transaction Manager) to work in my
web application. I tried the example at
http://www.onjava.com/pub/a/onjava/2003/07/30/jotm_transactions.html
successfully, but I get a NamingException when looking up the data source
in my application (it worked fine without JOTM). The root cause:

Caused by: javax.naming.NamingException: Could not create resource
factory instance, null
at org.apache.naming.factory.ResourceFactory.getObjectInstance
(ResourceFactory.java:146)
at javax.naming.spi.NamingManager.getObjectInstance
(NamingManager.java:301)

From my web.xml:

<resource-env-ref>
<description>Database connection</description>
<resource-env-ref-name>jdbc/3c_db</resource-env-ref-name>
<resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
</resource-env-ref>

The context in server.xml:

<Context path="/conquerian" docBase="conquerian" debug="6"
reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="conquerian_log." suffix=".txt" timestamp="true"/>

<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.postgresql.Driver"
connectionURL="jdbc:postgresql:conquerian"
connectionName="user_3c" connectionPassword="2db4user"
userTable="players" userNameCol="user_name"
userCredCol="password" userRoleTable="players_roles"
roleNameCol="role_name" debug="50"/>

<Resource name="jdbc/3c_db" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/3c_db">
<parameter>
<name>factory</name>
<value>org.objectweb.jndi.DataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://127.0.0.1/conquerian</value>
</parameter>
<parameter>
<name>username</name>
<value>mydbuser</value>
</parameter>
<parameter>
<name>password</name>
<value>mydbpass</value>
</parameter>
</ResourceParams>

<Resource name="UserTransaction" auth="Container"
type="javax.transaction.UserTransaction"/>
<ResourceParams name="UserTransaction">
<parameter>
<name>factory</name>
<value>org.objectweb.jotm.UserTransactionFactory</value>
</parameter>
<parameter>
<name>jotm.timeout</name>
<value>60</value>
</parameter>
</ResourceParams>
</Context>

Just for reference, I have put the JOTM jar files in common/lib.

My setup consists of JOTM 1.4.3, Tomcat 4.1.27, PostgreSQL 7.4.3,
pg73jdbc3 driver.

This problem is driving me nuts, so any and all help will be extremely
appreciated.

Thanks!

Regards,
\Anders
 
K

kNate

Anders,

I'm running into the same problem... j2sdk1.4.2, Tomcat/4.1.27, JOTM
1.4.3, using Merant JDBC Drivers...

Any one have a resolution?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,578
Members
45,052
Latest member
LucyCarper

Latest Threads

Top