| Niranjan Soni 2004-12-01, 7:50 am |
| Hi
I am carrying out migration of WCS 5.1 instance to WC 5.6. As part of this
migration, WCIM utility creates a WAS 4.0 datasource for the new instance to
be used by the EJBs. In my migrated application, i have some utility classes
(non-ejb) which perform JDBC access by looking up the datasource. There is
only one datasource configured on the instance (WAS 4.0 datasource) and is
used by both EJBs and utility classes.
The problem i am facing is that when my utility class tries to get a
connection on this 4.0 datasource, i get the following error in the logs
javax.naming.NamingException: Attempted to use a 4.0 DataSource from a 2.3
(or higher) servlet. Invalid configuration.
at com.ibm.ejs.cm.DSFactoryImpl.verifyConfiguration(DSFactoryImpl.java:253)
at
com.ibm.websphere.advanced.cm.factory.DataSourceFactory$ResourceReferenceObj
ectFactory.getObjectInstance(DataSourceFactory.java:844)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:313)
at
com.ibm.ws.naming.util.Helpers. processSerializedObjectForLookup(Helpers
.java
:884)
at
com.ibm.ws.naming.jndicos.CNContextImpl.processResolveResults(CNContextImpl.
java:1763)
at
com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1616)
at
com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1526)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1226)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:132)
at javax.naming.InitialContext.lookup(InitialContext.java(Compiled Code))
at
com.amivolite.utils.DB2Connection.getLocalDataSource(DB2Connection.java:99)
at com.amivolite.utils.Connector.getDB2Local(Connector.java:52)
As far i can see, the Stores.war web module is created to Servlet 2.3
specification, but this module is created by the migration script itself as
part of the migration, so i am not able to understand how to resolve this
problem. One solution as i was thinking was to create WAS 5.0 datasource and
let my utility classes use that datasource, but when i am doing that i am
getting a different error which is
WTRN0062E: An illegal attempt to use multiple resources that have only
one-phase capability has occurred within a global transaction.
So i am in trouble both ways....any help will be great
Thanks
Niranjan Soni
|