javax.jbi.messaging
Interface MessageExchange

All Known Subinterfaces:
InOnly, InOptionalOut, InOut, RobustInOnly

public interface MessageExchange

MessageExchange represents a container for normalized messages which are described by an exchange pattern. The exchange pattern defines the names, sequence, and cardinality of messages in an exchange.

Author:
JSR208 Expert Group

Nested Class Summary
static class MessageExchange.Role
          Typesafe enum containing the roles a component can play in a service.
 
Field Summary
static String JTA_TRANSACTION_PROPERTY_NAME
          JTA transaction context property name.
 
Method Summary
 Fault createFault()
          Generic factory method for Fault objects.
 NormalizedMessage createMessage()
          Creates a normalized message based on the specified message reference.
 ServiceEndpoint getEndpoint()
          Retrieves the endpoint used by this exchange.
 Exception getError()
          Retrieves the Exception describing the exchanges error status.
 String getExchangeId()
          Returns the unique identifier assigned by the NMS for this exchange.
 Fault getFault()
          Retrieves the fault message for this exchange, if one exists.
 QName getInterfaceName()
          Retrieves the interface name used by this exchange.
 NormalizedMessage getMessage(String name)
          Retrieves a normalized message based on the specified message reference.
 QName getOperation()
          Retrieves the operation used by this exchange.
 URI getPattern()
          Returns the URI of the pattern for this exchange.
 Object getProperty(String name)
          Retrieves the specified property from the exchange.
 Set getPropertyNames()
          Returns the name of all properties for this exchange.
 MessageExchange.Role getRole()
          Queries the role that the caller plays in the exchange.
 QName getService()
          Retrieves the service used by this exchange.
 ExchangeStatus getStatus()
          Returns the processing status of the exchange.
 boolean isTransacted()
          Queries the existence of a transaction context.
 void setEndpoint(ServiceEndpoint endpoint)
          Specifies the endpoint used by this exchange.
 void setError(Exception error)
          Used to specify the source of a failure status.
 void setFault(Fault fault)
          Specifies the fault message for this exchange, if one exists.
 void setInterfaceName(QName interfaceName)
          Specifies the interface name used by this exchange.
 void setMessage(NormalizedMessage msg, String name)
          Sets a normalized message with the specified message reference.
 void setOperation(QName name)
          Specifies the operation used by this exchange.
 void setProperty(String name, Object obj)
          Specifies a property for the exchange.
 void setService(QName service)
          Specifies the service used by this exchange.
 void setStatus(ExchangeStatus status)
          Sets the processing status of the exchange.
 

Field Detail

JTA_TRANSACTION_PROPERTY_NAME

static final String JTA_TRANSACTION_PROPERTY_NAME
JTA transaction context property name.

See Also:
Constant Field Values
Method Detail

getPattern

URI getPattern()
Returns the URI of the pattern for this exchange.

Returns:
pattern URI for this exchange

getExchangeId

String getExchangeId()
Returns the unique identifier assigned by the NMS for this exchange.

Returns:
unique id for this exchange

getStatus

ExchangeStatus getStatus()
Returns the processing status of the exchange.

Returns:
status of the exchange

setStatus

void setStatus(ExchangeStatus status)
               throws MessagingException
Sets the processing status of the exchange.

Parameters:
status - exchange status
Throws:
MessagingException - failed to set status, possibly due to an invalid state transition.

setError

void setError(Exception error)
Used to specify the source of a failure status. Invoking this method automatically adjusts the status of the ME to ExchangeStatus.ERROR.

Parameters:
error - error cause

getError

Exception getError()
Retrieves the Exception describing the exchanges error status.

Returns:
exception associated with this exchange

getFault

Fault getFault()
Retrieves the fault message for this exchange, if one exists. A fault/message reference is unnecessary, since an exchange can carry at most one fault, and it is always the final message in an exchange.

Returns:
fault associated with the exchange, or null if not present

setFault

void setFault(Fault fault)
              throws MessagingException
Specifies the fault message for this exchange, if one exists. A fault/message reference is unnecessary, since an exchange can carry at most one fault, and it is always the final message in an exchange.

Parameters:
fault - fault
Throws:
MessagingException - operation not permitted in the current exchange state

createMessage

NormalizedMessage createMessage()
                                throws MessagingException
Creates a normalized message based on the specified message reference. The pattern governing this exchange must contain a definition for the reference name supplied.

Returns:
a new normalized message
Throws:
MessagingException - failed to create message

createFault

Fault createFault()
                  throws MessagingException
Generic factory method for Fault objects.

Returns:
a new fault
Throws:
MessagingException - failed to create fault

getMessage

NormalizedMessage getMessage(String name)
Retrieves a normalized message based on the specified message reference.

Parameters:
name - message reference
Returns:
message with the specified reference name

setMessage

void setMessage(NormalizedMessage msg,
                String name)
                throws MessagingException
Sets a normalized message with the specified message reference. The pattern governing this exchange must contain a definition for the reference name supplied.

Parameters:
msg - normalized message
name - message reference
Throws:
MessagingException - operation not permitted in the current exchange state

getProperty

Object getProperty(String name)
Retrieves the specified property from the exchange.

Parameters:
name - property name
Returns:
property value

setProperty

void setProperty(String name,
                 Object obj)
Specifies a property for the exchange.

Parameters:
name - property name
obj - property value

setEndpoint

void setEndpoint(ServiceEndpoint endpoint)
Specifies the endpoint used by this exchange.

Parameters:
endpoint - endpoint address

setService

void setService(QName service)
Specifies the service used by this exchange.

Parameters:
service - service address

setInterfaceName

void setInterfaceName(QName interfaceName)
Specifies the interface name used by this exchange.

Parameters:
interfaceName - interface name

setOperation

void setOperation(QName name)
Specifies the operation used by this exchange.

Parameters:
name - operation name

getEndpoint

ServiceEndpoint getEndpoint()
Retrieves the endpoint used by this exchange.

Returns:
endpoint address for this message exchange

getInterfaceName

QName getInterfaceName()
Retrieves the interface name used by this exchange.

Returns:
interface used for this message exchange

getService

QName getService()
Retrieves the service used by this exchange.

Returns:
service address for this message exchange

getOperation

QName getOperation()
Retrieves the operation used by this exchange.

Returns:
operation name for this message exchange

isTransacted

boolean isTransacted()
Queries the existence of a transaction context.

Returns:
boolean transactional state of the exchange

getRole

MessageExchange.Role getRole()
Queries the role that the caller plays in the exchange.

Returns:
Role expected of caller.

getPropertyNames

Set getPropertyNames()
Returns the name of all properties for this exchange.

Returns:
a set of all the property names, as Strings.


Copyright © 2007-2013 The Apache Software Foundation. All Rights Reserved.