Charles Moulliard-2 wrote
> Can you debug the project and add a breakpoint in this method  (protected
> boolean shouldRegister(Object service, Route route) {)) of this class
> (org.apache.camel.management.DefaultManagementLifecycleStrategy) of
> camel-core to see if the conditions are matched to register the mbean ?

I added a breakpoint in shouldRegister with the condition of "service
instanceof SendProcessor", just to narrow down the search.  I was looking
for a specifically-named processor that is in a transacted route.

On the first run with the debugger, the breakpoint was hit several times,
but for other routes.  It never hit the breakpoint for the processor in
question.

For a second attempt, I removed the transacted() call from the route, and
ran with the debugger, and it hit the breakpoint with the processor I was
looking for.

For what it's worth, I also set a breakpoint in registerProcessor where
getId() contained the name of the processor I was looking for, and
regardless of the route being transacted, the breakpoint was hit.

To sum up, registerProcessor gets called (and returns true) for all the
processors, it doesn't matter if they're in transacted routes or not. 
shouldRegister doesn't get called for processors in transacted routes, but
it does get called for processors in non-transacted routes.

The debug logging from org.apache.camel.management supports this.  I can
comment out the transacted() call from a route and see all the processors
get registered in the debug logging of DefaultManagementAgent.  If I rerun
with the route actually being transacted, those processors don't show up in
the logging.



--
View this message in context: 
http://camel.465427.n5.nabble.com/Not-all-processors-are-listed-in-JMX-preventing-detailed-route-statistics-profiling-tp5757634p5758257.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to