Guillaume,
Thank you for your help. Sorry to be such a bother. I've implemented as you've suggested, I am getting the container set, and once I have it, I am calling init.

I think I am now encountering a 'timing' issue. I am still including my object as a 'listener' in the config file. It appears that my 'init' is being called before the 'init' of the management context, as I am getting a null pointer:

org.springframework.beans.MethodInvocationException: Property 'listeners' threw exception; nested exception is java.lang.NullPointerException: null
java.lang.NullPointerException
at org.apache.servicemix.jbi.management.ManagementContext.createObjectNameP rops(ManagementContext.java:441) at org.apache.servicemix.jbi.management.ManagementContext.createObjectName( ManagementContext.java:369) at org.apache.servicemix.jbi.management.ManagementContext.registerSystemSer vice(ManagementContext.java:565) at org.apache.servicemix.jbi.management.BaseSystemService.init (BaseSystemService.java:51) at com.clairmail.extensions.servicemix.ClairmailMessageLogger.setContainer( ClairmailMessageLogger.java:69)


line 441 in management context is:
        result.put("ContainerName", container.getName());

so it would appear that 'container' has not yet been set. Forgive what may be a dumb question, is there a way to set dependency or ordering such that my object doesn't get inited until everything else has been inited? Is there a better way to approach this?

Thanks again,

BJ.


On Apr 18, 2006, at 4:29 PM, Guillaume Nodet wrote:

You will also need to implement the
org.apache.servicemix.jbi.container.ContainerAware interface and call
the init method when you receive the container object.

Guillaume

On 4/19/06, Guillaume Nodet <[EMAIL PROTECTED]> wrote:
Actually, all the needed code is already in the BaseSystemService class.
You just have to call init(JBIContainer) and shutDown() and the
service will register / unregister itself as a JMX MBean.

Cheers,
Guillaume Nodet

On 4/18/06, William Blackburn <[EMAIL PROTECTED]> wrote:
I've written an exchange-listener that also extends BaseSystemService
and implements its own MBean interface (which extends from
LifeCycleMBean). I want to have basic manageability of this custom
service. My config is simply:

<sm:listeners>
      <cmsm:clairmailMessageLogger />
</sm:listeners>

The listener registers fine and that part of it works, however, I
also want it to be container aware and register as an MBean, this
part does not work. I'm sure this is actually more of a JMX question,
but can anyone provide insight into how I would configure such a
MBean to plug into the smix jmx infrastructure?

Thanks,

BJ.



Reply via email to