eHealth Server contact lost alarm after tomcat restart

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

Issue: 

Getting eHealth Server contact lost alarm after restarting the spectrum tomcat service

 

stdout.log

eHealth Integration initialization failed.java.lang.NullPointerException 
at com.aprisma.spectrum.app.ehealth.mapping.MappingMigrator.<init>(MappingMigrator.java:103) 
at com.aprisma.spectrum.app.ehealth.mapping.EhealthIntegrationThread.<init>(EhealthIntegrationThread.java:95) 
at com.aprisma.spectrum.app.ehealth.EhealthIntegrationManager.startThread(EhealthIntegrationManager.java:680) 
at com.aprisma.spectrum.app.ehealth.EhealthIntegrationManager.doServerConfiguration(EhealthIntegrationManager.java:355) 
at com.aprisma.spectrum.app.ehealth.EhealthIntegrationManager.access$100(EhealthIntegrationManager.java:40) 
at com.aprisma.spectrum.app.ehealth.EhealthIntegrationManager$ConfigureServerProcess.run(EhealthIntegrationManager.java:1673) 
at java.lang.Thread.run(Thread.java:745)

 

Cause: 

eHealth Initialization is failed during the mapping migration as the override manager object is returning null. This is happing because eHealth Override Servlet is not initialized yet.

 

We need to change the load on startup value for EHealthOverrideServlet in the Web.xml file located at SPECROOT\tomcat\webapps\spectrum\WEB-INF\web.xml to resolve this case

 

Resolution:

Windows:

1. stop the tomcat 

click on Start -> Run -> services.msc

Check for "Spectrum Tomcat" service and stop the service

2. Edit web.xml file located at %SPECROOT%\tomcat\webapps\spectrum\WEB-INF\
3. search for EHealthOverrideServlet tag.. 

<servlet xmlns=""> 
<servlet-name>EHealthOverrideServlet</servlet-name> 
<servlet-class> 
com.aprisma.spectrum.app.ehealth.servlet.EHealthOverrideServlet 
</servlet-class> 
<init-param> 
<param-name>name</param-name> 
<param-value>eHealth Override</param-value> 
</init-param> 
<load-on-startup>99</load-on-startup> 
</servlet> 


4. change <load-on-startup>99</load-on-startup> to <load-on-startup>98</load-on-startup> 

From

<load-on-startup>99</load-on-startup> 

To

<load-on-startup>98</load-on-startup> 

Final contents of the EHealtOverrideServlet tag contents would be like this

<servlet xmlns=""> 
<servlet-name>EHealthOverrideServlet</servlet-name> 
<servlet-class> 
com.aprisma.spectrum.app.ehealth.servlet.EHealthOverrideServlet 
</servlet-class> 
<init-param> 
<param-name>name</param-name> 
<param-value>eHealth Override</param-value> 
</init-param> 
<load-on-startup>98</load-on-startup> 
</servlet> 

Save the file

5. start the tomcat 

click on Start -> Run -> services.msc

Check for "Spectrum Tomcat" service and start the service

 

 Unix:

1.stop the web server:

<$SPECROOT>/tomcat/bin/stopTomcat.sh

 

2. Edit web.xml file located at $SPECROOT/tomcat/webapps/spectrum/WEB-INF/

3. search for EHealthOverrideServlet tag.. 

<servlet xmlns=""> 
<servlet-name>EHealthOverrideServlet</servlet-name> 
<servlet-class> 
com.aprisma.spectrum.app.ehealth.servlet.EHealthOverrideServlet 
</servlet-class> 
<init-param> 
<param-name>name</param-name> 
<param-value>eHealth Override</param-value> 
</init-param> 
<load-on-startup>99</load-on-startup> 
</servlet> 


4. change <load-on-startup>99</load-on-startup> to <load-on-startup>98</load-on-startup> 

From

<load-on-startup>99</load-on-startup> 

To

<load-on-startup>98</load-on-startup> 

Final contents of the EHealtOverrideServlet tag contents would be like this

<servlet xmlns=""> 
<servlet-name>EHealthOverrideServlet</servlet-name> 
<servlet-class> 
com.aprisma.spectrum.app.ehealth.servlet.EHealthOverrideServlet 
</servlet-class> 
<init-param> 
<param-name>name</param-name> 
<param-value>eHealth Override</param-value> 
</init-param> 
<load-on-startup>98</load-on-startup> 
</servlet> 

Save the file

5. start the web server:

<$SPECROOT>/tomcat/bin/startTomcat.sh

 

Now the alarm will not raise even after Spectrum Tomcat Service recycled