Catalog Function Implementation for Custom Channel
Your channel code must implement certain methods to provide proper semantics to the
Event
catalog functions.
Event.send
Override theDestination.send
method and provide implementation to send to your destination endpoint. This method is invoked when the BusinessEvents application code invokes
Event.send
.
Event.requestEvent
Override your
Destination.requestEvent
method and provide an implementation to synchronously send a message request to your destination endpoint. The implementation should return a response event to the caller. If your messaging system do not support the request-reply semantic, you can choose to throw an unsupported operation exception.
Event.routeTo
Override your
Destination.send
and provide implementation to route to your specified destination endpoint.
EventContext
An
EventContext
object holds the context of the incoming event. Your
Destination.getEventContext
method must return an implementation of your
EventContext
. In your event context, you can keep any state, such as, the inbound message received in your listener callback; corresponding listener/session handles, and so on. Typically you would keep as much state in this object as required for providing proper behavior for the
EventContext.reply
and
EventContext.acknowledge
methods.
Event.replyTo
This catalog function maps to the
EventContext.reply
method. Override the
EventContext.reply
method as applicable for your project for a reply event semantics.
Event.consumeEvent
This catalog function maps to your
EventContext.acknowledge
method. For some messaging systems, you might need to indicate to your message broker to acknowledge delivery of the inbound message, so that the message is not redelivered. Override the
EventContext.acknowledge
method as applicable for your project.