javax.jbi.messaging
Interface MessageExchangeFactory


public interface MessageExchangeFactory

A message exchange factory is used used to create new instances of MessageExchange. Service consumers use these factories to create message exchanges when initiating a new service request. Message exchange factories are created using the javax.jbi.component.ComponentContext given to the component during its initialization (see javax.jbi.component.ComponentLifeCycle ). There are a variety of ways to creating such factories, each of which creates a context that is used to provide some of the default properties of MessageExchange instances created by the factory instances. For example, a factory can be created for a particular endpoint, ensuring that all exchanges created by the factory have that endpoint set as the default endpoint property of the exchange. This allows components to retain factories as a way of aligning internal processing context with the context contained in the factory, ensuring that the exchanges created consistently reflect that context.

Author:
JSR208 Expert Group

Method Summary
 MessageExchange createExchange(javax.xml.namespace.QName serviceName, javax.xml.namespace.QName operationName)
          Creates a new MessageExchange instance used to initiate a service invocation.
 MessageExchange createExchange(java.net.URI pattern)
          Creates a new MessageExchange instance used to initiate a service invocation.
 InOnly createInOnlyExchange()
          Convenience method that creates an In-Only message exchange.
 InOptionalOut createInOptionalOutExchange()
          Convenience method that creates an In-Optional-Out message exchange.
 InOut createInOutExchange()
          Convenience method that creates an In-Out message exchange.
 RobustInOnly createRobustInOnlyExchange()
          Convenience method that creates an Robust-In-Only message exchange.
 

Method Detail

createExchange

public MessageExchange createExchange(javax.xml.namespace.QName serviceName,
                                      javax.xml.namespace.QName operationName)
                               throws MessagingException
Creates a new MessageExchange instance used to initiate a service invocation. JBI defines a set of four basic message exchange types, corresponding to the predefined in-* WSDL 2.0 Message Exchange Patterns.

Parameters:
serviceName - name of the service to be invoked
operationName - name of the operation to be invoked
Returns:
new message exchange, initialized for invoking the given service and operation
Throws:
MessagingException - if the given service or operation are not registered with the NMR or the factory was created for a particular interface, and the given serviceName does not implement that interface.

createExchange

public MessageExchange createExchange(java.net.URI pattern)
                               throws MessagingException
Creates a new MessageExchange instance used to initiate a service invocation. JBI defines a set of eight fundamental message exchange types which are created using binding and engine delivery channels. This base method is provided for extensibility, to satisfy the need for vendor-specific message exchange patterns. The registration and administration of these patterns is not addressed by JBI.

Parameters:
pattern - message exchange pattern
Returns:
new message exchange
Throws:
MessagingException - specified pattern is not registered to a message exchange type

createInOnlyExchange

public InOnly createInOnlyExchange()
                            throws MessagingException
Convenience method that creates an In-Only message exchange.

Returns:
new In-Only message exchange
Throws:
MessagingException - failed to create exchange

createInOptionalOutExchange

public InOptionalOut createInOptionalOutExchange()
                                          throws MessagingException
Convenience method that creates an In-Optional-Out message exchange.

Returns:
new In-Optional-Out message exchange
Throws:
MessagingException - failed to create exchange

createInOutExchange

public InOut createInOutExchange()
                          throws MessagingException
Convenience method that creates an In-Out message exchange.

Returns:
new In-Out message exchange
Throws:
MessagingException - failed to create exchange

createRobustInOnlyExchange

public RobustInOnly createRobustInOnlyExchange()
                                        throws MessagingException
Convenience method that creates an Robust-In-Only message exchange.

Returns:
new Robust-In-Only message exchange
Throws:
MessagingException - failed to create exchange

Built 06/07/2005 11:16 AM on acer (SunOS 5.9)

Copyright (c) 2004-2005 Sun Microsystems Inc., All Rights Reserved.