classloader issues using jax-ws in a client plugin
Bala Nair
bnairtm at comcast.net
Thu Sep 23 02:40:19 UTC 2010
We are having issues in our plugin metric collection when we try to
get data from a remote server using a web service interface and the
jax-ws api's. It looks like a class loader issue - the class loader
appears not to have visibility into the jar that contains the web
service provider implementation, but we're to set the classpath
correctly or include the correct jars in the plugin itself. Any help
would be appreciated.
Bala Nair
Senior Engineer
SeaChange International
Here is the relevant agent log section:
2010-09-22 15:53:32,616 DEBUG [MeasurementManager.collector-1]
(rhq.core.pc.inventory.ResourceContainer$ResourceComponentInvocationHandler)-
Call to
[tv.seachange.monitoring.plugins.URM.URMServerComponent.getValues()]
with args [[org.rhq.core.domain.measurement.MeasurementReport at 4964784d,
[ScheduledMeasurementInfo[res=10862, name=pg_memory_usage,
sched=16163]]]] failed.
java.util.concurrent.ExecutionException:
javax.xml.ws.WebServiceException: Provider
com.sun.xml.internal.ws.spi.ProviderImpl not found
at
java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
at java.util.concurrent.FutureTask.get(FutureTask.java:91)
at
org.rhq.core.pc.inventory.ResourceContainer$ResourceComponentInvocationHandler.invokeInNewThreadWithLock(ResourceContainer.java:446)
at
org.rhq.core.pc.inventory.ResourceContainer$ResourceComponentInvocationHandler.invoke(ResourceContainer.java:434)
at $Proxy73.getValues(Unknown Source)
at
org.rhq.core.pc.measurement.MeasurementCollectorRunner.getValues(MeasurementCollectorRunner.java:111)
at
org.rhq.core.pc.measurement.MeasurementCollectorRunner.call(MeasurementCollectorRunner.java:91)
at
org.rhq.core.pc.measurement.MeasurementManager$MeasurementCollectionRequester.run(MeasurementManager.java:169)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.xml.ws.WebServiceException: Provider
com.sun.xml.internal.ws.spi.ProviderImpl not found
at
javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:33)
at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:128)
at javax.xml.ws.spi.Provider.provider(Provider.java:108)
at javax.xml.ws.Service.<init>(Service.java:57)
at
com.netsocket.ws.mgmt.ct.basic.WsAgentService.<init>(WsAgentService.java:50)
at com.schange.urm.WsdmApi.setup(WsdmApi.java:62)
at com.schange.urm.WsdmApi.<init>(WsdmApi.java:29)
at
tv.seachange.monitoring.plugins.URM.URMServerComponent.getValues(URMServerComponent.java:53)
at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:525)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
... 3 more
Caused by: java.lang.ClassNotFoundException:
com.sun.xml.internal.ws.spi.ProviderImpl
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at
org.rhq.core.pc.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:63)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
javax.xml.ws.spi.FactoryFinder.safeLoadClass(FactoryFinder.java:149)
at
javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:30)
... 16 more
More information about the rhq-devel
mailing list