THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
 
  Apache ServiceMix NMR #usernavbar() #printableicon() #feedicon()  
When you contribute content to this Wiki, you grant a license to the ASF for inclusion in ASF works (as per the Apache Software License).
  10. Events

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

10. Events

The NMR has a rich event API that can be used to receive all sort of notifications about what's happening in the NMR.
Currently, two types of listeners are defined.

EndpointListener

public interface EndpointListener {
    void endpointRegistered(InternalEndpoint endpoint);
    void endpointUnregistered(InternalEndpoint endpoint);
}

You can find an example endpoint listener here.

ExchangeListener

public interface ExchangeListener {
    void exchangeSent(Exchange exchange);
    void exchangeDelivered(Exchange exchange);
    void exchangeFailed(Exchange exchange);
}

An example exchange listener can be found here.

Registering listeners

Listeners can be registered in two ways, either directly on the NMR:

nmr.getListenerRegistry().register(listener, null);

or by registering your listener as an OSGi service. It can be done using Spring-DM using the following configuration (for an exchange listener):

<bean id="myListener" class="...">
  ...
</bean>

<!-- Exchange Listener -->
<osgi:service ref="myListener"> 
    <osgi:interfaces>
        <value>org.apache.servicemix.nmr.api.event.ExchangeListener</value>
        <value>org.apache.servicemix.nmr.api.event.Listener</value>
    </osgi:interfaces>
</osgi:service>

#top

  • No labels