Assembly: TIBCO.EMS (in TIBCO.EMS.dll)
Syntax
public delegate void EMSMessageHandler( Object sender, EMSMessageEventArgs args ) |
Public Delegate Sub EMSMessageHandler ( _ sender As Object, _ args As EMSMessageEventArgs _ ) |
public delegate void EMSMessageHandler( Object^ sender, EMSMessageEventArgs^ args ) |
Parameters
- sender
- Type: System..::.Object
The source of the event. It can be either the MessageConsumer object or the Session object depending on to which object is the message handler registered.
- args
- Type: TIBCO.EMS..::.EMSMessageEventArgs
The event argument, EMSMessageEventArgs
Remarks
This delegate provides an asynchronous pathway for receiving messages. The program implements this delegate, and registers it with a MessageConsumer. When a message arrives, the client library raises an event. This delegate processes the event, which presents the message.
The EMSMessageHandler receives messages in a .NET programming idiom. In contrast, IMessageListener mimics the way in which JMS provides similar functionality in a Java programming idiom. Programmers may select either idiom—but not both (which would cause duplicate message processing, with undefined behavior).
Example Message Event Handler:
...
consumer.MessageHandler += new EMSMessageHandler(handleMsg);
...
private void handleMsg(object sender, EMSMessageEventArgs arg)
{
Message m = arg.Message;
Console.WriteLine("Received message: " + m);
...
}
...
| |
Serialization
In compliance with the JMS specification, sessions distribute messages to listeners and event handler delegates in serial (non-concurrent) fashion.