IronJacamar Can't find Oracle
staggerlee Oct 31, 2011 3:36 PMI am a attempting to upgrade from jboss-4.2.2, and thanks to this group, I've been getting a little farther along every day. My current hurdle is this java.lang.ClassNotFoundException (full stack trace follows)
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleConnection from [Module "org.jboss.ironjacamar.jdbcadapters:main" from local module loader @5c391c3 (roots: /Users/me/GAP/jboss-as-7.0.2.Final/modules)]
the oracle class seems to be deployed just fine as far as I can tell. the log message seems to indicate that. I have tried every permutation of jar location I can think of. The one thing that does seem to work is to include the module which contains the jar as a dependency in the org.jboss.ironjacamar.jdbcadapters module.xml file. My thinking is that I should not be editing jboss supplied modules.
...
14:51:18,442 INFO [org.jboss.as.connector.subsystems.datasources] (Controller Boot Thread) Deploying JDBC-compliant driver class oracle.jdbc.OracleDriver (version 11.2)
...
I was able to find a similar case in the ironjacamar group (http://community.jboss.org/thread/169844) and a resulting Jira issue is marked as resolved for the slightly older version 1.0.1.Final by Jesper Pedersen.
If any of you could offer me some guidance, I would be very appreciative!
Dennis
14:54:37,021 WARN [org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService$MyXaMCF] (http-localhost-127.0.0.1-8080-1) Exception trying to create valid connection checker (disabling):: java.lang.RuntimeException: Unable to resolve pingDatabase method:
at org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker.<init>(OracleValidConnectionChecker.java:65)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [:1.6.0_26]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [:1.6.0_26]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [:1.6.0_26]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [:1.6.0_26]
at java.lang.Class.newInstance0(Class.java:355) [:1.6.0_26]
at java.lang.Class.newInstance(Class.java:308) [:1.6.0_26]
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory.loadPlugin(BaseWrapperManagedConnectionFactory.java:1085)
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory.isValidConnection(BaseWrapperManagedConnectionFactory.java:1158)
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.checkValid(BaseWrapperManagedConnection.java:454)
at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.matchManagedConnections(XAManagedConnectionFactory.java:478)
at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:260)
at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:392)
at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:357)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:351)
at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:367)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:467)
at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:129)
at org.jboss.security.auth.spi.DatabaseServerLoginModule.getUsersPassword(DatabaseServerLoginModule.java:174) [picketbox-4.0.1.jar:4.0.1]
at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:245) [picketbox-4.0.1.jar:4.0.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_26]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_26]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769) [:1.6.0_26]
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186) [:1.6.0_26]
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683) [:1.6.0_26]
at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_26]
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) [:1.6.0_26]
at javax.security.auth.login.LoginContext.login(LoginContext.java:579) [:1.6.0_26]
at com.company.gcore.security.AuthenticationManager.jaasSignIn(AuthenticationManager.java:219) [MPGCore-Server.jar:]
at com.company.mcore.web.JAASFilter.loginToThread(JAASFilter.java:119) [MPGCore-Server.jar:]
at com.company.mcore.web.JAASFilter.doFilter(JAASFilter.java:45) [MPGCore-Server.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247) [stripes.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:388) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:49) [jboss-as-jpa-7.0.2.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at java.lang.Thread.run(Thread.java:680) [:1.6.0_26]
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleConnection from [Module "org.jboss.ironjacamar.jdbcadapters:main" from local module loader @5c391c3 (roots: /Users/me/GAP/jboss-as-7.0.2.Final/modules)]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103)
at java.lang.Class.forName0(Native Method) [:1.6.0_26]
at java.lang.Class.forName(Class.java:247) [:1.6.0_26]
at org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker.initPing(OracleValidConnectionChecker.java:100)
at org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker.<init>(OracleValidConnectionChecker.java:61)
... 51 more
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<xa-datasource jndi-name="java:/ds/GAPCore" pool-name="ds/GAPCore" enabled="true"
use-java-context="true" use-ccm="true">
<driver>ojdbc6</driver>
<xa-datasource-property name="URL">jdbc:oracle:thin:@oracleserver.company.com:1521:gap_dev</xa-datasource-property>
<xa-datasource-property name="User">myusername</xa-datasource-property>
<xa-datasource-property name="Password">mypassword</xa-datasource-property>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<xa-pool>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
<no-tx-separate-pools/>
<pad-xid>false</pad-xid>
<wrap-xa-resource>true</wrap-xa-resource>
<min-pool-size>1</min-pool-size>
<max-pool-size>60</max-pool-size>
</xa-pool>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
<use-fast-fail>false</use-fast-fail>
<stale-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
<exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
</validation>
<drivers>
<driver name="ojdbc6" module="org.company.ojdbc6">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</xa-datasource>