For the consumer role, there are multiple paths which will be explained later. But
for the provider role, the broker transfers control to Sequence 2 listed in the
following figure:
Sample Service Aggregation
[ 354 ]
In the normal flow when a client sends a message to the ESB, the
onMessageExchange method in the broker will be invoked in the provider role. We
label this messageExchange as the Root Exchange (to differentiate this exchange
from other nested exchanges, which will be described shortly) and keep a pointer
of that in a Map for future reference. The XML payload which we retrieve from
the normalizedMessage is converted to Java objects using the XStream Java XML
binding utilities and stored for future reference. We then create a new InOut
exchange with address as the LocalPart and send it to the deliveryChannel. The
following code snippet details out these sequence of events:
public class SyncVoipBroker extends ComponentSupport implements
MessageExchangeListener
{
private void processInputRequest(MessageExchange exchange)
throws MessagingException
{
NormalizedMessage copyMessage = exchange.
Pages:
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468