openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brad L Vandermoon (JIRA)" <>
Subject [jira] Commented: (OPENJPA-144) JDBCConfigurationImpl does not support JNDI lookup for non-jta-data-source.
Date Wed, 14 Feb 2007 13:19:06 GMT


Brad L Vandermoon commented on OPENJPA-144:

When we specify only a jta-data-source, we get:  "<4|false|0.9.7-incubating-SNAPSHOT>
org.apache.openjpa.util.InvalidStateException: Unable to execute suspend on a WebSphere managed
transaction. WebSphere does not support direct manipulation of managed transactions."

When we try to use JNDI to specify the non-jta-data-source, we get the same error.  JDBCConfigurationImpl
doesn't appear to use this information to populate datasource2.

When we pass the properties to have OpenJPA create the connection it works fine.  Here's the
properties we pass: 

       <entry key="openjpa.Connection2DriverName" value=""/>
        <entry key="openjpa.Connection2UserName" value="Test"/>
        <entry key="openjpa.Connection2Password" value="password"/>
        <entry key="openjpa.Connection2URL" value="jdbc:db2://localhost:3700/RQSTSET"/>

        <entry key="openjpa.jdbc.Schema" value="PROPCAS"/>

In this later case, JDBCConfigurationImpl creates a SimpleDriverDataSource for the datasource2
and uses it to do the sequence.

> JDBCConfigurationImpl does not support JNDI lookup for non-jta-data-source.  
> -----------------------------------------------------------------------------
>                 Key: OPENJPA-144
>                 URL:
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>         Environment: WebSphere 6.1, DB2 v8.1 and sequences
>            Reporter: Brad L Vandermoon
> A non-jta-data-source is required for DB2 sequences; however, org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl
does not support a JNDI lookup for this data source from the openjpa.ConnectionFactory2Name
property as documented (refer to section 5.12 and 4.2.1 of the OpenJPA manual).
> It seems like the same implementation for the jta-data-source should be implemented for
the non-jta-data-source.  i.e.
> // ADD createConnectionFactory2()
> private DecoratingDataSource createConnectionFactory2() {
>         DataSource ds = (DataSource) connectionFactory2.get();
>         if (ds != null)
>             return setupConnectionFactory(ds, true);
>         ds = (DataSource) super.getConnectionFactory2(); // JNDI lookup
>         if (ds == null)
>             ds = DataSourceFactory.newDataSource(this, true);
>         return setupConnectionFactory(ds, true);
>     }
> // MODIFY this method 
> public Object getConnectionFactory2() {
>         // override to configure data source
>         if (dataSource2 == null) {
>             DecoratingDataSource ds = createConnectionFactory2();
>             dataSource2 = DataSourceFactory.installDBDictionary
>                 (getDBDictionaryInstance(), ds, this, true);
>         }
>         return dataSource2;
>     }

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message