"SRM has not finished starting" because non-device model type in devicemodel-polling.xml file

Document ID : KB000035415
Last Modified Date : 14/02/2018
Show Technical Document Details

Issue:

You have configured user-defined device attribute polling in <SPECROOT>/tomcat/webapps/spectrum/WEB-INF/repmgr/config/devicemodel-polling.xml. After Spectrum OneClick Server (Tomcat) was restarted you get "SRM has not finished starting" message accessing InfoView/BI Launchpad page. Tomcat log (<SPECROOT>/tomcat/logs/catalina.out or stdout.log) shows the following exception.

SRM/Startup/Container) (org.springframework.web.context.support.XmlWebApplicationContext) - (WARN) - Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'assetManager': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.aprisma.spectrum.app.repmgr.dc.asset.DeviceAttributesManager com.aprisma.spectrum.app.repmgr.dc.asset.AssetManager.daManager; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'deviceAttrManager': Invocation of init method failed; nested exception is com.aprisma.spectrum.app.repmgr.exceptions.UnknownModelTypeException: An unknown model type name was specified in the attribute polling configuration. Please edit the following file, and change the model type name to a known name.
  Model Type Name: <non device model type>
  Attribute polling file: E:\CA\Spectrum\tomcat\webapps\spectrum\WEB-INF\repmgr\config\devicemodel-polling.xml
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1204)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
at com.ca.spectrum.app.web.spring.BootstrapServlet$ContainerStartupProcess.refreshContainer(BootstrapServlet.java:245)
at com.ca.spectrum.app.web.spring.BootstrapServlet$ContainerStartupProcess.run(BootstrapServlet.java:203)
        at java.lang.Thread.run(Thread.java:745)

Environment:

This issue may happen on Spectrum 9.2 version or later on all OS platform

Cause:

User-defined device attribute polling in <SPECROOT>/tomcat/webapps/spectrum/WEB-INF/repmgr/config/devicemodel-polling.xml is desgined for device model types only. The non-device model type defined in the xml file caused this UnknownModelTypeException issue.

Resolution:

Correct devicemodel-polling.xml file so that it doesn't contain non-device model type defined in

<user-defined-poll modelType="..."> 

tag and restart OneClick Tomcat.

Additional Information:

You may utilize Devices -> All Devices Locater's search to identify device model type. 

Please refer to Configure User-Defined Device Attribute Polling for more details about user-defined device attribute polling.