| java.lang.Object com.sun.jbi.binding.proxy.NMRProcessor
NMRProcessor | class NMRProcessor implements java.lang.Runnable,com.sun.jbi.messaging.EndpointListener,com.sun.jbi.messaging.TimeoutListener(Code) | | Runnable class that implements the NMR receiver. All traffic from the NMR that is associated
with endpoints for which the ProxyBinding is acting as a proxy, are processed here. Also, the
ProxyBinding exposes a handful of services used locally and remotely, and these are handled
here.
The basic flow is:
Decide if message is for us or for a proxy.
If the exchange is for us, process it.
Else, lookup the instance that hosts the service.
Send the exchange to the remote instance that is hosting the service.
Remember the exchange if new, forget the exchange is this is the last send.
author: Sun Microsystems, Inc |
EXCHANGEID | final static String EXCHANGEID(Code) | | Property names used in above operations.
|
SERVICE_DESCRIPTION | final static String SERVICE_DESCRIPTION(Code) | | |
mOperationsReceived | int mOperationsReceived(Code) | | |
mOperationsSent | int mOperationsSent(Code) | | |
activate | public void activate(DeliveryChannel channel, ServiceEndpoint endpoint)(Code) | | An endpoint is being activated on the given channel. We process this by sending a
InOnly message exchange to the ProxyBinding (remember we are running in the context of a
component that is activating an endpoint) with the endpoint information.
Parameters: channel - that is activating an endpoint. Parameters: endpoint - that is being activated. |
checkTimeout | public boolean checkTimeout(DeliveryChannel channel, javax.jbi.messaging.MessageExchange exchange)(Code) | | A message exchange has timed out on a sendSynch operation. We use an InOnly message exchange
to convey the request to the ProxyBinding (remember we are running in the context of a
component that is waiting in sendSynch().)
Parameters: channel - that is performing a timeout on an endpoint. Parameters: endpoint - that is being timed out. |
deactivate | public void deactivate(DeliveryChannel channel, ServiceEndpoint endpoint)(Code) | | An endpoint is being deactivated on the given channel. We process this by sending a
InOnly message exchange to the ProxyBinding (remember we are running in the context of a
component that is activating an endpoint) with the endpoint information.
Parameters: channel - that is deactivating an endpoint. Parameters: endpoint - that is being deactivated. |
getDescription | public Document getDescription(ServiceEndpoint endpoint)(Code) | | A service description has been requested for a remote service. We process this by sending a
InOnly message exchange to the ProxyBinding (remember we are running in the context of a
component that asking for the service description) with the endpoint information.
Parameters: endpoint - that is being queried for its description |
isExchangeOkay | boolean isExchangeOkay(ServiceEndpoint endpoint, javax.jbi.messaging.MessageExchange exchange)(Code) | | A provider of a service needs to be queried about the suitability of the consumer request.
We process this by sending a InOnly message exchange to the remote ProxyBinding
(remember we are running in the context of a component that is attempting to perform a send to the
provider)
Parameters: endpoint - that is being queried for its description |
processProxyServiceRequest | void processProxyServiceRequest(MessageExchange me)(Code) | | Handle any operations that are targeted at the service exposed by the ProxyBinding.
Parameters: me - containing the messageExchange that should be handled. |
resolveEndpointReference | ServiceEndpoint resolveEndpointReference(DocumentFragment document)(Code) | | An endpoint reference needs to be resolved. We send this to each known instance and wait for an
answer. We process this by sending a InOnly message exchange to the remote ProxyBinding
(remember we are running in the context of a component that is asking for the endpoint resolution)
with the endpoint information.
Parameters: endpoint - that is being queried for its description |
|
|