PC - Spectrum integration - No Threshold Events seen in Spectrum due to "java.lang.NoSuchFieldError: REFLECTION"

book

Article ID: 210599

calendar_today

Updated On:

Products

CA Performance Management - Usage and Administration CA Spectrum

Issue/Introduction

Successfully integrated Performance Center 3.7.x with Spectrum 10.4.x, but cannot see any Threshold Events from PC in Spectrum Alarm Console.  

Spectrum added as Data Source in CAPC - restarted tomcat service on Spectrum OneClick and configured Event Polling in Spectrum from Admin ->PC Integration Configuration. 

Can successfully drill down from Spectrum to PC and vice versa. 

Default Domain in Spectrum Global Collection has been manually populated. 

All looks to be set up correctly, but no Threshold Events from PC are seen in Spectrum Alarm Console.


In reviewing Performance Center and Spectrum OneClick logs noticed the following messages.

PCService.log has a lot of these messages:

....
ERROR | SpectrumInfoService/Thread | 2021-03-15 00:00:15,531 | com.ca.im.portal.plugins.spectrum.service.SpectrumInfoService    
      | Failed to make request: <ns1:XMLFault xmlns:ns1="http://cxf.apache.org/bindings/xformat"><ns1:faultstring xmlns:ns1="http://cxf.apache.org/bindings/xformat">java.lang.NoSuchFieldError: REFLECTION</ns1:faultstring></ns1:XMLFault>
.
ERROR | SpectrumInfoService/Thread | 2021-03-15 09:45:10,999 | com.ca.im.portal.plugins.spectrum.service.SpectrumInfoService    
      | Failed to make request: <ns1:XMLFault xmlns:ns1="http://cxf.apache.org/bindings/xformat"><ns1:faultstring xmlns:ns1="http://cxf.apache.org/bindings/xformat">java.lang.NoSuchFieldError: REFLECTION</ns1:faultstring></ns1:XMLFault>

ERROR | SpectrumInfoService/Thread | 2021-03-15 09:45:11,005 | com.ca.im.portal.plugins.spectrum.service.SpectrumInfoService    
      | Failed to make request: Internal Server Error
....


Similar messages are seen in Spectrum's OneClick tomcat log (catalina.out or stdout.log):

....
Mar 10, 2021 14:40:43.412 - ThreadPool: exception thrown from ThreadTask: java.lang.NoSuchFieldError: REFLECTION
 at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:87)
 at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:422)
 at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)
 at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
 at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:247)
 at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:234)
 at javax.xml.bind.ContextFinder.find(ContextFinder.java:441)
 at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641)
 at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584)
 at com.netqos.nqevents.eventmanager.client.EventManagerWSStub.<clinit>(EventManagerWSStub.java:841)
 at com.ca.im.netqos.integration.event.poller.EventPollerBase.configureStub(EventPollerBase.java:514)
 at com.ca.im.netqos.integration.event.poller.EventPollerBase.initialize(EventPollerBase.java:533)
 at com.ca.im.netqos.integration.event.poller.RubiconEventPoller.initialize(RubiconEventPoller.java:500)
 at com.ca.im.netqos.integration.event.NetqosEventManager.startEventPoller(NetqosEventManager.java:333)
 at com.ca.im.netqos.integration.event.NetqosEventManager.startPollingActiveLandscapes(NetqosEventManager.java:225)
 at com.ca.im.netqos.integration.event.NetqosEventManager$NPCEventManagerWebserviceURLPoller.performTask(NetqosEventManager.java:649)
....

Cause

These message are normally due to conflicts on JAR libraries on Spectrum side in $SPECROOT/tomcat/lib.
Legacy JAR files in the $SPECROOT/tomcat/lib/ directory are conflicting with the new ones.

Environment

Release : 3.7.x

Component : PERFORMANCE MANAGEMENT INTEGRATIONS

Resolution

Check the JAR files on Spectrum OneClick system for any old version of these files. If any old version exists, delete it and restart tomcat service. 

Files in question are located in the following directories: 
$SPECROOT/tomcat/lib 
$SPECROOT/RestfulExamples/lib


For example, if old files versions like the following exists, delete them:

-rwxr-x--- 1 spectrum spectrum 2298872 Jul 31 2016 ecj-4.4.jar
-rw-r----- 1 spectrum spectrum 854901 Jul 31 2016 jaxb-impl-2.1.7.jar

 

After removing the old files and restarting tomcat service, Threshold Events should start flowing from Performance Center to OneClick.

 

Additional Information

Refer to this Spectrum KB Article for additional details:

https://knowledge.broadcom.com/external/article?articleId=112760