public class ZeroMQWireBrokerImpl extends java.lang.Object implements ZeroMQWireBroker, DynamicOneWaySender, org.fabric3.spi.runtime.event.Fabric3EventListener<org.fabric3.spi.runtime.event.RuntimeStop>
| Constructor and Description |
|---|
ZeroMQWireBrokerImpl(ContextManager manager,
org.fabric3.spi.federation.addressing.AddressCache addressCache,
org.fabric3.spi.host.PortAllocator allocator,
java.util.concurrent.ExecutorService executorService,
ZeroMQManagementService managementService,
org.fabric3.spi.runtime.event.EventService eventService,
org.fabric3.spi.container.wire.TransformerInterceptorFactory interceptorFactory,
org.fabric3.api.host.runtime.HostInfo info,
MessagingMonitor monitor) |
| Modifier and Type | Method and Description |
|---|---|
void |
connectToReceiver(java.net.URI uri,
java.util.List<org.fabric3.spi.container.wire.InvocationChain> chains,
org.fabric3.api.binding.zeromq.model.ZeroMQMetadata metadata,
java.lang.ClassLoader loader)
Connects to a receiver that dispatches invocation requests from an ZeroMQ XREP socket.
|
void |
connectToSender(java.lang.String id,
java.net.URI uri,
java.util.List<org.fabric3.spi.container.wire.InvocationChain> chains,
org.fabric3.api.binding.zeromq.model.ZeroMQMetadata metadata,
java.lang.ClassLoader loader)
Connects a set of ordered invocation chains to a ZeroMQ XREQ sender.
|
java.lang.String |
getId() |
void |
init() |
void |
onEvent(org.fabric3.spi.runtime.event.RuntimeStop event) |
void |
onUpdate(java.util.List<org.fabric3.spi.federation.addressing.SocketAddress> addresses) |
void |
releaseReceiver(java.net.URI uri)
Releases previous connection to a receiver.
|
void |
releaseSender(java.lang.String id,
java.net.URI uri)
Releases a previous connection to a sender.
|
void |
send(byte[] message,
int index,
org.fabric3.spi.container.invocation.WorkContext context,
org.fabric3.api.binding.zeromq.model.ZeroMQMetadata metadata)
Dispatches a message to a service in a non-blocking fashion.
|
void |
setHost(java.lang.String host)
Sets this host to bind the publisher to.
|
void |
setPollTimeout(long timeout)
Sets the timeout in milliseconds for polling operations.
|
void |
start()
Initializes the client and its underlying socket.
|
void |
startAll()
Starts all senders and receivers.
|
void |
stop()
Disposes the client and any open resources.
|
void |
stopAll()
Stops all senders and receivers.
|
public ZeroMQWireBrokerImpl(ContextManager manager, org.fabric3.spi.federation.addressing.AddressCache addressCache, org.fabric3.spi.host.PortAllocator allocator, java.util.concurrent.ExecutorService executorService, ZeroMQManagementService managementService, org.fabric3.spi.runtime.event.EventService eventService, org.fabric3.spi.container.wire.TransformerInterceptorFactory interceptorFactory, org.fabric3.api.host.runtime.HostInfo info, MessagingMonitor monitor) throws java.net.UnknownHostException
java.net.UnknownHostExceptionpublic void setPollTimeout(long timeout)
timeout - the timeout in milliseconds for polling operationspublic void setHost(java.lang.String host)
host - the hostpublic void init()
public void connectToSender(java.lang.String id,
java.net.URI uri,
java.util.List<org.fabric3.spi.container.wire.InvocationChain> chains,
org.fabric3.api.binding.zeromq.model.ZeroMQMetadata metadata,
java.lang.ClassLoader loader)
throws BrokerException
ZeroMQWireBrokerconnectToSender in interface ZeroMQWireBrokerid - the connection iduri - the target service URIchains - the invocation chainsmetadata - the ZeroMQ metadata to configure the underlying socketloader - the classloader to load invocation parameters withBrokerException - if a connection error occurspublic void releaseSender(java.lang.String id,
java.net.URI uri)
throws BrokerException
ZeroMQWireBrokerreleaseSender in interface ZeroMQWireBrokerid - the connection iduri - the target service URIBrokerException - if a connection error occurspublic void connectToReceiver(java.net.URI uri,
java.util.List<org.fabric3.spi.container.wire.InvocationChain> chains,
org.fabric3.api.binding.zeromq.model.ZeroMQMetadata metadata,
java.lang.ClassLoader loader)
throws BrokerException
ZeroMQWireBrokerconnectToReceiver in interface ZeroMQWireBrokeruri - the target service URIchains - the invocation chainsmetadata - the ZeroMQ metadata to configure the underlying socketloader - the classloader to load invocation parameters withBrokerException - if a connection error occurspublic void releaseReceiver(java.net.URI uri)
throws BrokerException
ZeroMQWireBrokerreleaseReceiver in interface ZeroMQWireBrokeruri - the target service URIBrokerException - if a connection error occurspublic void send(byte[] message,
int index,
org.fabric3.spi.container.invocation.WorkContext context,
org.fabric3.api.binding.zeromq.model.ZeroMQMetadata metadata)
DynamicOneWaySendersend in interface DynamicOneWaySendermessage - the serialized messageindex - the operation index used to determine which intercept chain to dispatch the message tocontext - the current work contextmetadata - the metadata to dynamically create a socketpublic void startAll()
ZeroMQWireBrokerstartAll in interface ZeroMQWireBrokerpublic void stopAll()
ZeroMQWireBrokerstopAll in interface ZeroMQWireBrokerpublic void start()
Senderpublic void stop()
Senderpublic java.lang.String getId()
getId in interface org.fabric3.spi.federation.addressing.AddressListenerpublic void onUpdate(java.util.List<org.fabric3.spi.federation.addressing.SocketAddress> addresses)
onUpdate in interface org.fabric3.spi.federation.addressing.AddressListenerpublic void onEvent(org.fabric3.spi.runtime.event.RuntimeStop event)
onEvent in interface org.fabric3.spi.runtime.event.Fabric3EventListener<org.fabric3.spi.runtime.event.RuntimeStop>