org.apache.camel.impl
Class DefaultExchangeHolder

java.lang.Object
  extended by org.apache.camel.impl.DefaultExchangeHolder
All Implemented Interfaces:
Serializable

public class DefaultExchangeHolder
extends Object
implements Serializable

Holder object for sending an exchange over a remote wire as a serialized object. This is usually configured using the transferExchange=true option on the endpoint.

Note: Message body of type File or WrappedFile is not supported and a RuntimeExchangeException is thrown.

As opposed to normal usage where only the body part of the exchange is transferred over the wire, this holder object serializes the following fields over the wire:

Any object that is not serializable will be skipped and Camel will log this at WARN level.

Version:
See Also:
Serialized Form

Constructor Summary
DefaultExchangeHolder()
           
 
Method Summary
static void addProperty(DefaultExchangeHolder payload, String key, Serializable property)
          Adds a property to the payload.
static DefaultExchangeHolder marshal(Exchange exchange)
          Creates a payload object with the information from the given exchange.
static DefaultExchangeHolder marshal(Exchange exchange, boolean includeProperties)
          Creates a payload object with the information from the given exchange.
 String toString()
           
static void unmarshal(Exchange exchange, DefaultExchangeHolder payload)
          Transfers the information from the payload to the exchange.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DefaultExchangeHolder

public DefaultExchangeHolder()
Method Detail

marshal

public static DefaultExchangeHolder marshal(Exchange exchange)
Creates a payload object with the information from the given exchange.

Parameters:
exchange - the exchange, must not be null
Returns:
the holder object with information copied form the exchange

marshal

public static DefaultExchangeHolder marshal(Exchange exchange,
                                            boolean includeProperties)
Creates a payload object with the information from the given exchange.

Parameters:
exchange - the exchange, must not be null
includeProperties - whether or not to include exchange properties
Returns:
the holder object with information copied form the exchange

unmarshal

public static void unmarshal(Exchange exchange,
                             DefaultExchangeHolder payload)
Transfers the information from the payload to the exchange.

Parameters:
exchange - the exchange to set values from the payload, must not be null
payload - the payload with the values, must not be null

addProperty

public static void addProperty(DefaultExchangeHolder payload,
                               String key,
                               Serializable property)
Adds a property to the payload.

This can be done in special situations where additional information must be added which was not provided from the source.

Parameters:
payload - the serialized payload
key - the property key to add
property - the property value to add

toString

public String toString()
Overrides:
toString in class Object


Apache CAMEL