eneter.messaging.nodes.broker
Interface IDuplexBroker

All Superinterfaces:
IAttachableDuplexInputChannel

public interface IDuplexBroker
extends IAttachableDuplexInputChannel

Broker component. The broker is the communication component intended for publish-subscribe scenario. It is the component which allows consumers to subscribe for desired message types and allows publishers to send a message to subscribed consumers.

When the broker receives a message from a publisher it finds all consumers subscribed to that message and forwards them the message.


Method Summary
 Event<BrokerMessageReceivedEventArgs> brokerMessageReceived()
          The event is invoked when the observed message is received.
 Event<SubscribeInfoEventArgs> clientSubscribed()
          The event is invoked when the broker subscribed a client for messages.
 Event<SubscribeInfoEventArgs> clientUnsubscribed()
          The event is invoked when the broker unsubscribed a client from messages.
 java.lang.String[] getSubscribedMessages(java.lang.String responseReceiverId)
          Returns messages which are subscribed by the given subscriber.
 java.lang.String[] GetSubscribedResponseReceivers(java.lang.String messageTypeId)
          Returns subscribers which are subscribed for the given message type id.
 Event<PublishInfoEventArgs> messagePublished()
          The event is invoked when the publisher published a message to subscribers.
 void sendMessage(java.lang.String messageType, java.lang.Object serializedMessage)
          Publishes the message.
 void subscribe(java.lang.String messageType)
          Subscribes for the message type.
 void subscribe(java.lang.String[] messageTypes)
          Subscribes for list of message types.
 void unsubscribe()
          Unsubscribe all messages.
 void unsubscribe(java.lang.String messageType)
          Unsubscribes from the specified message type.
 void unsubscribe(java.lang.String[] messageTypes)
          Unsubscribes from specified message types.
 
Methods inherited from interface eneter.messaging.infrastructure.attachable.IAttachableDuplexInputChannel
attachDuplexInputChannel, detachDuplexInputChannel, getAttachedDuplexInputChannel, isDuplexInputChannelAttached
 

Method Detail

messagePublished

Event<PublishInfoEventArgs> messagePublished()
The event is invoked when the publisher published a message to subscribers.

Returns:
event

clientSubscribed

Event<SubscribeInfoEventArgs> clientSubscribed()
The event is invoked when the broker subscribed a client for messages.

Returns:
event

clientUnsubscribed

Event<SubscribeInfoEventArgs> clientUnsubscribed()
The event is invoked when the broker unsubscribed a client from messages.

Returns:
event

brokerMessageReceived

Event<BrokerMessageReceivedEventArgs> brokerMessageReceived()
The event is invoked when the observed message is received.

Returns:
event

sendMessage

void sendMessage(java.lang.String messageType,
                 java.lang.Object serializedMessage)
                 throws java.lang.Exception
Publishes the message.

Parameters:
messageType - identifies the type of the published message. The broker will forward the message to all subscribers subscribed to this message type.
serializedMessage - message content.
Throws:
java.lang.Exception

subscribe

void subscribe(java.lang.String messageType)
               throws java.lang.Exception
Subscribes for the message type.

Parameters:
messageType - identifies the type of the message which shall be subscribed.
Throws:
java.lang.Exception

subscribe

void subscribe(java.lang.String[] messageTypes)
               throws java.lang.Exception
Subscribes for list of message types.

Parameters:
messageTypes - list of message types which shall be subscribed.
Throws:
java.lang.Exception

unsubscribe

void unsubscribe(java.lang.String messageType)
                 throws java.lang.Exception
Unsubscribes from the specified message type.

Parameters:
messageType - message type the client does not want to receive anymore.
Throws:
java.lang.Exception

unsubscribe

void unsubscribe(java.lang.String[] messageTypes)
                 throws java.lang.Exception
Unsubscribes from specified message types.

Parameters:
messageTypes - list of message types the client does not want to receive anymore.
Throws:
java.lang.Exception

unsubscribe

void unsubscribe()
                 throws java.lang.Exception
Unsubscribe all messages.

Throws:
java.lang.Exception

getSubscribedMessages

java.lang.String[] getSubscribedMessages(java.lang.String responseReceiverId)
Returns messages which are subscribed by the given subscriber.

Parameters:
responseReceiverId - subscriber response receiver id.
Returns:
array of subscribed messages

GetSubscribedResponseReceivers

java.lang.String[] GetSubscribedResponseReceivers(java.lang.String messageTypeId)
Returns subscribers which are subscribed for the given message type id.

Parameters:
messageTypeId - >message type id
Returns:
array of subscribed subscribers