Hi,
I'm encountering a problem : I have some MBeans deployed in a remote server (not spring enabled).
These MBeans interfaces expose some methods for which my client do not have the used parameter types in its classpath.
Thing is, I don't want/need to use those methods, but the org.springframework.jmx.access.MBeanClientIntercep tor#invoke method tries to fetch the whole MBeanInfo for the remote MBean and throws a ClassNotFoundException as I'm missing those classes, thus preventing me to use the plain String only methods.
Is there any way to achieve this or do I have to manually code the JMX calls/hack the client interceptor ?
Here is the stack trace
note : the com.hsbc.hbfr.loadbalancing.websphere.WAS5MBeanCli entInterceptor is a class basically copy/pasted from org.springframework.jmx.access.MBeanClientIntercep tor but adapted for websphere 5/5.1 implementation of JMX (not standard compliant)
org.springframework.jmx.access.MBeanInfoRetrievalE xception: Unable to locate class specified in method signature; nested exception is java.lang.ClassNotFoundException: com.hsbc.hbfr.ccf.at.admin.IMonitorableResource
Caused by:
java.lang.ClassNotFoundException: com.hsbc.hbfr.ccf.at.admin.IMonitorableResource
at com.ibm.ws.classloader.CompoundClassLoader.findCla ss(CompoundClassLoader.java(Compiled Code))
at com.ibm.ws.classloader.CompoundClassLoader.loadCla ss(CompoundClassLoader.java(Compiled Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(C ompiled Code))
at org.springframework.util.ClassUtils.forName(ClassU tils.java:177)
at org.springframework.util.ClassUtils.forName(ClassU tils.java:147)
at org.springframework.jmx.support.JmxUtils.parameter InfoToTypes(JmxUtils.java:130)
at com.hsbc.hbfr.loadbalancing.websphere.WAS5MBeanCli entInterceptor.retrieveMBeanInfo(WAS5MBeanClientIn terceptor.java:214)
at com.hsbc.hbfr.loadbalancing.websphere.WAS5MBeanCli entInterceptor.afterPropertiesSet(WAS5MBeanClientI nterceptor.java:143)
at com.hsbc.hbfr.loadbalancing.websphere.WAS5MBeanPro xyFactoryBean.afterPropertiesSet(WAS5MBeanProxyFac toryBean.java:69)
at com.hsbc.hbfr.ccf.at.lb.admin.controllers.LBModify Controller.createProxy(LBModifyController.java:191 )
at com.hsbc.hbfr.ccf.at.lb.admin.controllers.AppMonit orDiagnosticFetcher.fetchStatusUsingOldApplication MonitorInterface(AppMonitorDiagnosticFetcher.java: 91)
at com.hsbc.hbfr.ccf.at.lb.admin.controllers.AppMonit orDiagnosticFetcher.run(AppMonitorDiagnosticFetche r.java:74)
at com.hsbc.hbfr.ccf.at.lb.admin.controllers.LBStatus Controller$WorkerThread.run(LBStatusController.jav a:297)
[12/12/06 11:31:26:200 CET] 68fc591 SystemErr R org.springframework.jmx.access.MBeanInfoRetrievalE xception: Unable to locate class specified in method signature; nested exception is java.lang.ClassNotFoundException: com.hsbc.hbfr.ccf.at.admin.IMonitorableResource
[12/12/06 11:31:26:200 CET] 68fc591 SystemErr R Caused by: java.lang.ClassNotFoundException: com.hsbc.hbfr.ccf.at.admin.IMonitorableResource
[12/12/06 11:31:26:200 CET] 68fc591 SystemErr R at com.ibm.ws.classloader.CompoundClassLoader.findCla ss(CompoundClassLoader.java(Compiled Code))
[12/12/06 11:31:26:200 CET] 68fc591 SystemErr R at com.ibm.ws.classloader.CompoundClassLoader.loadCla ss(CompoundClassLoader.java(Compiled Code))
[12/12/06 11:31:26:200 CET] 68fc591 SystemErr R at java.lang.ClassLoader.loadClass(ClassLoader.java(C ompiled Code))
[12/12/06 11:31:26:200 CET] 68fc591 SystemErr R at org.springframework.util.ClassUtils.forName(ClassU tils.java:177)
[12/12/06 11:31:26:200 CET] 68fc591 SystemErr R at org.springframework.util.ClassUtils.forName(ClassU tils.java:147)
[12/12/06 11:31:26:200 CET] 68fc591 SystemErr R at org.springframework.jmx.support.JmxUtils.parameter InfoToTypes(JmxUtils.java:130)
[12/12/06 11:31:26:200 CET] 68fc591 SystemErr R at com.hsbc.hbfr.loadbalancing.websphere.WAS5MBeanCli entInterceptor.retrieveMBeanInfo(WAS5MBeanClientIn terceptor.java:214)


Reply With Quote