Closed ivanmarban closed 6 years ago
I don't know how jboss classloading works nowadays but the thing to understand is that the jdbc perf logger classes must be able to use the underlying jdbc driver (oracle in your case). If you manage to declare both jars to be in the same jboss "module" you should be ok
Thanks for the tip. I've managed to use jdbc-perf-logger-driver in JBoss.
Just for the record, my declared module looks like this:
<module xmlns="urn:jboss:module:1.0" name="jdbc.jdbcperflogger">
<resources>
<resource-root path="jdbc-perf-logger-driver-0.8.3-SNAPSHOT.jar"/>
<resource-root path="ojdbc6.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Can't figure out how to make jdbc perf logger work with JBoss. Any help would be appreciated.
I've added the driver as module in JBoss, and configured the datasource like this:
I'm getting this error:
16:44:01,499 WARNING [ch.sla.jdbcperflogger.driver.WrappingDriver] (JCA PoolFiller) Cannot find driver class oracle.jdbc.OracleDriver for JDBC url jdbc:oracle:thin:@localhost:1521:XX: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver from [Module "jdbc.jdbcperflogger:main" from local module loader @f65612 (finder: local module finder @11d617d (roots: C:\servers\jboss-eap-6.4\modules,C:\servers\jboss-eap-6.4\modules\system\layers\base))] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.6.Final-redhat-1] at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.6.Final-redhat-1] at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.6.Final-redhat-1] at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.6.Final-redhat-1] at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.6.Final-redhat-1] at java.lang.Class.forName0(Native Method) [rt.jar:1.8.0_31] at java.lang.Class.forName(Class.java:260) [rt.jar:1.8.0_31] at ch.sla.jdbcperflogger.driver.WrappingDriver.connect(WrappingDriver.java:103) at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:328) at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:304) at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:834) [ironjacamar-core-impl-1.0.31.Final-redhat-1.jar:1.0.31.Final-redhat-1] at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.fillToMin(SemaphoreArrayListManagedConnectionPool.java:775) [ironjacamar-core-impl-1.0.31.Final-redhat-1.jar:1.0.31.Final-redhat-1] at org.jboss.jca.core.connectionmanager.pool.mcp.PoolFiller.run(PoolFiller.java:97) [ironjacamar-core-impl-1.0.31.Final-redhat-1.jar:1.0.31.Final-redhat-1] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_31]