Remote Poller implodes with lack of WMI classes

Description

The Remote Poller likely is missing a dependancy to various WMI-related classes by default.

The main server has WMI defined in the poller-configuration, but WMI is not used in the remote poller part of the package. When starting the Remote Poller it blows up with this trace:

org.springframework.remoting.RemoteAccessException: Could not deserialize result from HTTP invoker remote service https://nagios.acme.org/opennms-remoting/pollerBackEnd; nested exception is java.lang.ClassNotFoundException: org.opennms.netmgt.poller.monitors.WmiMonitor
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:208)
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:145)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy0.getServiceMonitorLocators(Unknown Source)
at org.opennms.netmgt.poller.remote.support.ServerUnreachableAdaptor.getServiceMonitorLocators(ServerUnreachableAdaptor.java:178)
at org.opennms.netmgt.poller.remote.support.DefaultPollerFrontEnd.doLoadConfig(DefaultPollerFrontEnd.java:740)
at org.opennms.netmgt.poller.remote.support.DefaultPollerFrontEnd.access$300(DefaultPollerFrontEnd.java:80)
at org.opennms.netmgt.poller.remote.support.DefaultPollerFrontEnd$Running.onConfigChanged(DefaultPollerFrontEnd.java:283)
at org.opennms.netmgt.poller.remote.support.DefaultPollerFrontEnd$RunningState.checkIn(DefaultPollerFrontEnd.java:200)
at org.opennms.netmgt.poller.remote.support.DefaultPollerFrontEnd$Running.checkIn(DefaultPollerFrontEnd.java:268)
at org.opennms.netmgt.poller.remote.support.DefaultPollerFrontEnd.checkConfig(DefaultPollerFrontEnd.java:436)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:264)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
Caused by: java.lang.ClassNotFoundException: org.opennms.netmgt.poller.monitors.WmiMonitor
at com.simontuffs.onejar.JarClassLoader.findClass(JarClassLoader.java:602)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
at org.springframework.core.ConfigurableObjectInputStream.resolveClass(ConfigurableObjectInputStream.java:57)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1461)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1311)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at java.util.ArrayList.readObject(ArrayList.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.doReadRemoteInvocationResult(AbstractHttpInvokerRequestExecutor.java:291)
at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.readRemoteInvocationResult(AbstractHttpInvokerRequestExecutor.java:242)
at org.springframework.remoting.httpinvoker.SimpleHttpInvokerRequestExecutor.doExecuteRequest(SimpleHttpInvokerRequestExecutor.java:69)
at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.executeRequest(AbstractHttpInvokerRequestExecutor.java:136)
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:192)
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:174)
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:142)
... 19 more
2011-03-13 02:29:49,211 WARN [PollerFrontEnd_Worker-6] org.opennms.netmgt.poller.remote.Poller: No polling scheduled.

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Alejandro Galue August 31, 2011 at 11:06 AM

Fixed on revision 88dcc3e9e714b4a7628889f22b081c0f2a4a5dfe for 1.10

Alexander Hoogerhuis March 12, 2011 at 8:45 PM

Forgot to add: remove any mention of WMI in the poller-configuration.xml on the main server then the remote poller starts just dandy, with ssl-via-apache-via-ajp-to-jetty-on-opennms, even.

Fixed

Details

Assignee

Reporter

Labels

Components

Fix versions

Affects versions

Priority

PagerDuty

Created March 12, 2011 at 8:44 PM
Updated January 27, 2017 at 4:20 PM
Resolved August 31, 2011 at 11:06 AM

Flag notifications