org.apache.servicemix.jbi.deployer.artifacts
Class AssemblyReferencesListener

java.lang.Object
  extended by org.apache.servicemix.jbi.deployer.artifacts.AssemblyReferencesListener
All Implemented Interfaces:
EventListener, org.apache.servicemix.nmr.api.event.EndpointListener, org.apache.servicemix.nmr.api.event.ExchangeListener, org.apache.servicemix.nmr.api.event.Listener

public class AssemblyReferencesListener
extends Object
implements org.apache.servicemix.nmr.api.event.EndpointListener, org.apache.servicemix.nmr.api.event.ExchangeListener

This class will listen for endpoints activated and link them to service assemblies. This only work if the endpoint is activated synchronously during a call to the SU init() or start() method, but this should always be the case. When an exchange is sent or received, the source / destination endpoint of the exchange are retrieved, and their associated service assembly counter is incremented. When a SA is cleanly shutdown, we wait for the reference count to be 0.


Constructor Summary
AssemblyReferencesListener()
           
 
Method Summary
 void cancelPendingSyncExchanges(ServiceAssembly assembly)
           
 void endpointRegistered(org.apache.servicemix.nmr.api.internal.InternalEndpoint endpoint)
           
 void endpointUnregistered(org.apache.servicemix.nmr.api.internal.InternalEndpoint endpoint)
           
 void exchangeDelivered(org.apache.servicemix.nmr.api.Exchange exchange)
           
 void exchangeFailed(org.apache.servicemix.nmr.api.Exchange exchange)
           
 void exchangeSent(org.apache.servicemix.nmr.api.Exchange exchange)
           
 void forget(ServiceAssembly assembly)
           
protected  Set<org.apache.servicemix.nmr.api.internal.InternalExchange> getPending(ServiceAssembly assembly)
           
 void setAssembly(ServiceAssembly assembly)
           
 void waitFor(ServiceAssembly assembly)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AssemblyReferencesListener

public AssemblyReferencesListener()
Method Detail

setAssembly

public void setAssembly(ServiceAssembly assembly)

forget

public void forget(ServiceAssembly assembly)

endpointRegistered

public void endpointRegistered(org.apache.servicemix.nmr.api.internal.InternalEndpoint endpoint)
Specified by:
endpointRegistered in interface org.apache.servicemix.nmr.api.event.EndpointListener

endpointUnregistered

public void endpointUnregistered(org.apache.servicemix.nmr.api.internal.InternalEndpoint endpoint)
Specified by:
endpointUnregistered in interface org.apache.servicemix.nmr.api.event.EndpointListener

exchangeSent

public void exchangeSent(org.apache.servicemix.nmr.api.Exchange exchange)
Specified by:
exchangeSent in interface org.apache.servicemix.nmr.api.event.ExchangeListener

exchangeDelivered

public void exchangeDelivered(org.apache.servicemix.nmr.api.Exchange exchange)
Specified by:
exchangeDelivered in interface org.apache.servicemix.nmr.api.event.ExchangeListener

exchangeFailed

public void exchangeFailed(org.apache.servicemix.nmr.api.Exchange exchange)
Specified by:
exchangeFailed in interface org.apache.servicemix.nmr.api.event.ExchangeListener

waitFor

public void waitFor(ServiceAssembly assembly)
             throws InterruptedException
Throws:
InterruptedException

cancelPendingSyncExchanges

public void cancelPendingSyncExchanges(ServiceAssembly assembly)

getPending

protected Set<org.apache.servicemix.nmr.api.internal.InternalExchange> getPending(ServiceAssembly assembly)


Copyright © 2005-2011 The Apache Software Foundation. All Rights Reserved.