If one includes the connector.jar file from WebSphere
Application Server 5.0 or 5.1 in an EAR file, and then deploys that EAR
file WebSphere Application Server V6, then this causes the incorrect
classes (the ones from the connector.jar in the ear) to be loaded and
results in the J2CA0009E.
The reason that the java.lang.NoSuchMethodException is thrown is that
the required method is not in the connector.jar.
java.lang.NoSuchMethodException:
com.ibm.ejs.j2c.DefaultSecurityHelper.<init>
(javax.resource.spi.ManagedConnectionFactory,
com.ibm.ejs.j2c.MCFExtendedProperties)
This exception indicates that there was no constructor for
com.ibm.ejs.j2c.DefaultSecurityHelper that expected the two parameters
ManagedConnectionFactory and MCFExtendedProperties.
This problem can happen when developing an application with an IDE,
such as IBM® Rational® Application Developer. If one resolves missing jars
by including them in the ear versus adding them to the classpath, then
this problem may result.
This is what will be logged in the SystemOut.log file
[10/17/05 15:06:29:471 EDT] 0000003b ConnectionFac E J2CA0009E: An
exception occurred while trying to instantiate the
ManagedConnectionFactory class
com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl used by resource
jdbc/AUE : java.lang.NoSuchMethodException:
com.ibm.ejs.j2c.DefaultSecurityHelper.<init>(javax.resource.spi.ManagedConnectionFactory,
com.ibm.ejs.j2c.MCFExtendedProperties)
at java.lang.Class.getConstructor1(Class.java(Compiled Code))
at java.lang.Class.getConstructor(Class.java:1124)
at
com.ibm.ejs.j2c.J2CUtilityClass.createSecurityHelper(J2CUtilityClass.java:1244)
at
com.ibm.ejs.j2c.J2CUtilityClass.createMCFEntry(J2CUtilityClass.java:650)
at
com.ibm.ejs.j2c.ConnectionFactoryBuilderServerImpl.createMCFandPM(ConnectionFactoryBuilderServerImpl.java:528)
at
com.ibm.ejs.j2c.ConnectionFactoryBuilderServerImpl.processObjectInstance(ConnectionFactoryBuilderServerImpl.java:867)
at
com.ibm.ejs.j2c.ConnectionFactoryBuilderImpl.getObjectInstance(ConnectionFactoryBuilderImpl.java:557)
at
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:314)
at
com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:874)
at
com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:681)
at
com.ibm.ws.naming.jndicos.CNContextImpl.processResolveResults(CNContextImpl.java:1937)
at
com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1792)
at
com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1707)
at
com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1412)
at
com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1290)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:144)
at javax.naming.InitialContext.lookup(InitialContext.java:361)
at
com.trilogy.ibm.persistence.DataSourceConnectionFactory.getConnection(DataSourceConnectionFactory.java:96)
at com.trilogy.ibm.healthcheck.DBCheck.DBConnectionCheck(DBCheck.java:38)
at
com.trilogy.ibm.healthcheck.HealthCheckServlet.checkStatus(HealthCheckServlet.java:125)
at
com.trilogy.ibm.healthcheck.HealthCheckServlet.doGet(HealthCheckServlet.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[10/17/05 15:06:29:645 EDT] 0000003b Helpers W NMSV0605W: A Reference
object looked up from the context "WASCELL/nodes/WASNODE/servers/aue" with
the name "jdbc/AUE" was sent to the JNDI Naming Manager and an exception
resulted. Reference data
|