org.apache.servicemix.camel
Class JbiBinding

java.lang.Object
  extended by org.apache.servicemix.camel.JbiBinding

public class JbiBinding
extends java.lang.Object

The binding of how Camel messages get mapped to JBI and back again

Version:
$Revision: 563665 $

Field Summary
static java.lang.String MESSAGE_EXCHANGE
           
static java.lang.String OPERATION
           
static java.lang.String SECURITY_SUBJECT
           
 
Constructor Summary
JbiBinding(org.apache.camel.CamelContext context)
          Create the binding instance for a given CamelContext
JbiBinding(org.apache.camel.CamelContext context, java.lang.String serialization)
           
 
Method Summary
 void addHeaderFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy strategy)
           
 void copyFromCamelToJbi(org.apache.camel.Exchange exchange, javax.jbi.messaging.MessageExchange messageExchange)
           
 void copyFromCamelToJbi(org.apache.camel.Message message, javax.jbi.messaging.NormalizedMessage normalizedMessage)
           
 void copyFromJbiToCamel(javax.jbi.messaging.NormalizedMessage from, org.apache.camel.Message to)
          Copies content, headers, security subject and attachments from the JBI NormalizedMessage to the Camel Message.
 void copyPropertiesFromJbiToCamel(javax.jbi.messaging.MessageExchange from, org.apache.camel.Exchange to)
          Copies properties from the JBI MessageExchange to the Camel Exchange, taking into account the HeaderFilterStrategy that has been configured on this binding.
 org.apache.camel.Exchange createExchange(javax.jbi.messaging.MessageExchange exchange)
           
protected  javax.jbi.messaging.MessageExchange createJbiMessageExchange(org.apache.camel.Exchange camelExchange, javax.jbi.messaging.MessageExchangeFactory exchangeFactory, java.lang.String defaultMep)
           
 java.lang.Exception extractException(org.apache.camel.Exchange exchange)
          Extract an Exception from the exchange.
static javax.jbi.messaging.MessageExchange getMessageExchange(org.apache.camel.Exchange exchange)
          Access the JBI MessageExchange that has been stored on the Camel Exchange
static javax.xml.namespace.QName getOperation(org.apache.camel.Exchange exchange)
          Access the JBI Operation that has been stored on a Camel Exchange
static javax.security.auth.Subject getSecuritySubject(org.apache.camel.Message message)
          Access the security subject that has been stored on the Camel Message
 javax.jbi.messaging.MessageExchange makeJbiMessageExchange(org.apache.camel.Exchange camelExchange, javax.jbi.messaging.MessageExchangeFactory exchangeFactory, java.lang.String defaultMep)
           
<T> T
runWithCamelContextClassLoader(java.util.concurrent.Callable<T> callable)
          Run a block of code with the CamelContext.getApplicationContextClassLoader() set as the thread context classloader.
 void setConvertExceptions(boolean convertExceptions)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MESSAGE_EXCHANGE

public static final java.lang.String MESSAGE_EXCHANGE
See Also:
Constant Field Values

OPERATION

public static final java.lang.String OPERATION
See Also:
Constant Field Values

SECURITY_SUBJECT

public static final java.lang.String SECURITY_SUBJECT
See Also:
Constant Field Values
Constructor Detail

JbiBinding

public JbiBinding(org.apache.camel.CamelContext context)
Create the binding instance for a given CamelContext

Parameters:
context - the CamelContext

JbiBinding

public JbiBinding(org.apache.camel.CamelContext context,
                  java.lang.String serialization)
Method Detail

addHeaderFilterStrategy

public void addHeaderFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy strategy)

setConvertExceptions

public void setConvertExceptions(boolean convertExceptions)

runWithCamelContextClassLoader

public <T> T runWithCamelContextClassLoader(java.util.concurrent.Callable<T> callable)
                                 throws java.lang.Exception
Run a block of code with the CamelContext.getApplicationContextClassLoader() set as the thread context classloader.

Parameters:
callable - the block of code to be run
Throws:
java.lang.Exception - exceptions being thrown while running the block of code

makeJbiMessageExchange

public javax.jbi.messaging.MessageExchange makeJbiMessageExchange(org.apache.camel.Exchange camelExchange,
                                                                  javax.jbi.messaging.MessageExchangeFactory exchangeFactory,
                                                                  java.lang.String defaultMep)
                                                           throws javax.jbi.messaging.MessagingException,
                                                                  java.net.URISyntaxException
Throws:
javax.jbi.messaging.MessagingException
java.net.URISyntaxException

createJbiMessageExchange

protected javax.jbi.messaging.MessageExchange createJbiMessageExchange(org.apache.camel.Exchange camelExchange,
                                                                       javax.jbi.messaging.MessageExchangeFactory exchangeFactory,
                                                                       java.lang.String defaultMep)
                                                                throws javax.jbi.messaging.MessagingException,
                                                                       java.net.URISyntaxException
Throws:
javax.jbi.messaging.MessagingException
java.net.URISyntaxException

createExchange

public org.apache.camel.Exchange createExchange(javax.jbi.messaging.MessageExchange exchange)

copyPropertiesFromJbiToCamel

public void copyPropertiesFromJbiToCamel(javax.jbi.messaging.MessageExchange from,
                                         org.apache.camel.Exchange to)
Copies properties from the JBI MessageExchange to the Camel Exchange, taking into account the HeaderFilterStrategy that has been configured on this binding.

Parameters:
from - the JBI MessageExchange
to - the Camel Exchange

copyFromJbiToCamel

public void copyFromJbiToCamel(javax.jbi.messaging.NormalizedMessage from,
                               org.apache.camel.Message to)
Copies content, headers, security subject and attachments from the JBI NormalizedMessage to the Camel Message.

Parameters:
from - the source NormalizedMessage
to - the target Message

copyFromCamelToJbi

public void copyFromCamelToJbi(org.apache.camel.Message message,
                               javax.jbi.messaging.NormalizedMessage normalizedMessage)
                        throws javax.jbi.messaging.MessagingException
Throws:
javax.jbi.messaging.MessagingException

copyFromCamelToJbi

public void copyFromCamelToJbi(org.apache.camel.Exchange exchange,
                               javax.jbi.messaging.MessageExchange messageExchange)
                        throws javax.jbi.messaging.MessagingException
Throws:
javax.jbi.messaging.MessagingException

extractException

public java.lang.Exception extractException(org.apache.camel.Exchange exchange)
Extract an Exception from the exchange. This method will always return a

Parameters:
exchange - the Camel exchange
Returns:
an exception

getMessageExchange

public static javax.jbi.messaging.MessageExchange getMessageExchange(org.apache.camel.Exchange exchange)
Access the JBI MessageExchange that has been stored on the Camel Exchange

Returns:
the JBI MessageExchange

getOperation

public static javax.xml.namespace.QName getOperation(org.apache.camel.Exchange exchange)
Access the JBI Operation that has been stored on a Camel Exchange

Parameters:
exchange - the Camel Exchange
Returns:
the JBI Operation as a QName

getSecuritySubject

public static javax.security.auth.Subject getSecuritySubject(org.apache.camel.Message message)
Access the security subject that has been stored on the Camel Message

Parameters:
message - the Camel message
Returns:
the Subject or null is no Subject is available in the headers


Copyright © 2005-2011 FuseSource. All Rights Reserved.