NoClassDefFoundError: net/bull/javamelody/JdbcWrapper$ConnectionInvocationHandler

573 views
Skip to first unread message

jnch...@gmail.com

unread,
Aug 27, 2014, 4:22:21 AM8/27/14
to javam...@googlegroups.com
Hi,

I'm experiencing the following error in weblogic 12c when running from a jenkins maven build some integration tests deploying an ear-file and accessing the application.

Caused by: java.lang.NoClassDefFoundError: net/bull/javamelody/JdbcWrapper$ConnectionInvocationHandler
at net.bull.javamelody.JdbcWrapper.createConnectionProxy(JdbcWrapper.java:809)
at net.bull.javamelody.JdbcWrapper$2.invoke(JdbcWrapper.java:695)
at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:287)
at $Proxy62.connect(Unknown Source)
at weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:553)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:518)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:511)

It's working fine when accessing the application as a user would do.

I'm a bit confused as the JDBCWrapper is found but not the inner class.

Any suggestion would be appreciated.

Thanks,

Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     JavaMelody filter init started
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     OS: Linux unknown, i386/32
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     Java: Java(TM) SE Runtime Environment, 1.6.0_29-b11
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     Server: WebLogic Server Temporary Patch for BUG15926456 Fri Mar 15 19:12:44 MDT 2013 WebLogic Server Temporary Patch for 13019800 Mon Jan 16 16:53:54 IST 2012 WebLogic Server Temporary Patch for BUG13391585 Thu Feb 02 10:18:36 IST 2012 WebLogic Server Temporary Patch for 13516712 Mon Jan 30 15:09:33 IST 2012 WebLogic Server Temporary Patch for BUG13641115 Tue Jan 31 11:19:13 IST 2012 WebLogic Server Temporary Patch for BUG13603813 Wed Feb 15 19:34:13 IST 2012 WebLogic Server Temporary Patch for 13424251 Mon Jan 30 14:32:34 IST 2012 WebLogic Server Temporary Patch for 13361720 Mon Jan 30 15:24:05 IST 2012 WebLogic Server Temporary Patch for BUG13421471 Wed Feb 01 11:24:18 IST 2012 WebLogic Server Temporary Patch for BUG13657792 Thu Feb 23 12:57:33 IST 2012 WebLogic Server 12.1.1.0 Wed Dec 7 08:40:57 PST 2011 1445491 Oracle WebLogic Server Module Dependencies 12.1 Mon Nov 21 16:41:37 UTC 2011 Oracle WebLogic Server on JRockit Virtual Edition Module Dependencies 12.1 Fri Oct 21 21:16:45 UTC 2011 
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     Webapp context: /MYAPP
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     JavaMelody version: 1.53.0-SNAPSHOT
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     JavaMelody classes loaded from: file:/opt/appserver/weblogic/user_projects/domains/myapp/servers/AdminServer/tmp/_WL_user/MYAPP_EAR/3qzdst/APP-INF/lib/javamelody.jar
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     Host: ....
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     parameter defined: displayed-counters=sql,log,ejb
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     parameter defined: no-database=false
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     parameter defined: disabled=false
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     parameter defined: datasources=java:comp/env/jdbc/myDataSource
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     log listeners initialized
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     datasources found in JNDI: [java:comp/env/jdbc/myDataSource]
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     Datasource needs rewrap: java:comp/env/jdbc/myDataSource of class weblogic.jdbc.common.internal.RmiDataSource
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     Datasource rewrapped: java:comp/env/jdbc/myDataSource
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     counters initialized
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     counters data read from files in /tmp/javamelody/MYAPP....
Wed Aug 27 09:18:26 GMT+01:00 2014     DEBUG     collect task scheduled every 60s
Wed Aug 27 09:18:27 GMT+01:00 2014     DEBUG     first collect of data done
Wed Aug 27 09:18:27 GMT+01:00 2014     DEBUG     JavaMelody filter init done in 951 ms
Wed Aug 27 09:18:29 GMT+01:00 2014     DEBUG     ejb interceptor initialized
Wed Aug 27 09:18:29 GMT+01:00 2014     DEBUG     ejb interceptor initialized
Wed Aug 27 09:18:29 GMT+01:00 2014     DEBUG     ejb interceptor initialized
....

Jean-Noel


Message has been deleted

jnch...@gmail.com

unread,
Aug 28, 2014, 10:21:42 AM8/28/14
to javam...@googlegroups.com, jnch...@gmail.com
It appears to be a weblogic 12.1.1 classloading issue, it could be reproduced (win/rhel) by doing the following steps:
- start the server
- deploy or update the application, in my case ear file with java melody libs under APP_INF/lib
- ask for a connection (through the application or the monitoring servlet).

It will disappear at next server restart and happen again if the application get's updated after a server restart.

java.lang.NoClassDefFoundError: net/bull/javamelody/JdbcWrapper$ConnectionInvocationHandler
	at net.bull.javamelody.JdbcWrapper.createConnectionProxy(JdbcWrapper.java:809)
	at net.bull.javamelody.JdbcWrapper$2.invoke(JdbcWrapper.java:695)
	at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:287)
	at $Proxy62.connect(Unknown Source)
	at weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:553)
	at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:518)
	at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:511)
	at net.bull.javamelody.JavaInformations.buildDataBaseVersion(JavaInformations.java:363)
	at net.bull.javamelody.JavaInformations.(JavaInformations.java:174)
	at net.bull.javamelody.MonitoringController.doActionIfNeededAndReport(MonitoringController.java:150)
	at net.bull.javamelody.MonitoringFilter.doMonitoring(MonitoringFilter.java:348)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:171)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3288)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
	at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
	at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
	at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089)
	at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
	at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1513)
	at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
	at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: java.lang.ClassNotFoundException: net.bull.javamelody.JdbcWrapper$ConnectionInvocationHandler
	at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
	at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)

jnch...@gmail.com

unread,
Aug 29, 2014, 5:15:37 AM8/29/14
to javam...@googlegroups.com
This is solved in weblogic 12.1.3.
Reply all
Reply to author
Forward
0 new messages