Problem when using LoggingMonitorProcessor, the log is null

Asked by JakubM

I have a problem when using LoggingMonitorProcessor the inside member log is null.

The following stack trace gives some more details:

java.lang.NullPointerException
at com.orbitz.monitoring.lib.processor.LoggingMonitorProcessor.process(LoggingMonitorProcessor.java:51)
at com.orbitz.monitoring.lib.processor.AsyncMonitorProcessor$3.processWithProcessor(AsyncMonitorProcessor.java:82)
at com.orbitz.monitoring.lib.processor.AsyncMonitorProcessor$MonitorProcessBundle.run(AsyncMonitorProcessor.java:127)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
at java.lang.Thread.run(Thread.java:595)

Jakub

Question information

Language:
English Edit question
Status:
Solved
For:
ERMA Edit question
Assignee:
No assignee Edit question
Solved by:
Matthew Kemp
Solved:
Last query:
Last reply:
Revision history for this message
JakubM (jakub-matias) said :
#1

The wiring used:

 <bean class="com.orbitz.monitoring.lib.BaseMonitoringEngineManager" init-method="startup" destroy-method="shutdown">
   <constructor-arg ref="mpf"/>
   <!-- constructor-arg ref="decomposer"/ -->
 </bean>

 <bean id="mpf" class="com.orbitz.monitoring.lib.factory.SimpleMonitorProcessorFactory">
   <constructor-arg>
     <list>
       <ref bean="routeToLog"/>
     </list>
   </constructor-arg>
 </bean>

 <bean id="routeToLog" class="com.orbitz.monitoring.lib.factory.ProcessGroup">
   <description>
     Routes all monitoring events to the log files for easy development testing of instrumentation
   </description>
   <constructor-arg ref="AsyncProcessor"/>
 </bean>

 <bean id="AsyncProcessor" class="com.orbitz.monitoring.lib.processor.AsyncMonitorProcessor">
   <constructor-arg>
     <list>
       <ref bean="LogProcessor"/>
     </list>
   </constructor-arg>
 </bean>

 <bean id="LogProcessor" class="com.orbitz.monitoring.lib.processor.LoggingMonitorProcessor"/>

When I switched to this:

 <bean id="routeToLog" class="com.orbitz.monitoring.lib.factory.ProcessGroup">
   <description>
     Routes all monitoring events to the log files for easy development testing of instrumentation
   </description>
   <constructor-arg ref="LogProcessor"/>
 </bean>

 <bean id="LogProcessor" class="com.orbitz.monitoring.lib.processor.LoggingMonitorProcessor"/>

everything is fine.

In first case startup method of LoggingMonitorProcessor was not called.

Revision history for this message
Best Matthew Kemp (mattkemp) said :
#2

See answer for Question #44131.

Revision history for this message
JakubM (jakub-matias) said :
#3

Thanks Matthew Kemp, that solved my question.