public class JmsBinding extends Object
Constructor and Description |
---|
JmsBinding() |
JmsBinding(JmsEndpoint endpoint) |
Modifier and Type | Method and Description |
---|---|
void |
appendJmsProperties(javax.jms.Message jmsMessage,
org.apache.camel.Exchange exchange)
Appends the JMS headers from the Camel
JmsMessage |
void |
appendJmsProperties(javax.jms.Message jmsMessage,
org.apache.camel.Exchange exchange,
org.apache.camel.Message in)
Appends the JMS headers from the Camel
JmsMessage |
void |
appendJmsProperty(javax.jms.Message jmsMessage,
org.apache.camel.Exchange exchange,
org.apache.camel.Message in,
String headerName,
Object headerValue) |
protected byte[] |
createByteArrayFromBytesMessage(javax.jms.BytesMessage message) |
protected javax.jms.Message |
createJmsMessage(Exception cause,
javax.jms.Session session) |
protected javax.jms.Message |
createJmsMessage(org.apache.camel.Exchange exchange,
Object body,
Map<String,Object> headers,
javax.jms.Session session,
org.apache.camel.CamelContext context) |
protected javax.jms.Message |
createJmsMessageForType(org.apache.camel.Exchange exchange,
Object body,
Map<String,Object> headers,
javax.jms.Session session,
org.apache.camel.CamelContext context,
JmsMessageType type)
Create the
Message |
Map<String,Object> |
createMapFromMapMessage(javax.jms.MapMessage message)
Extracts a
Map from a MapMessage |
Object |
extractBodyFromJms(org.apache.camel.Exchange exchange,
javax.jms.Message message)
Extracts the body from the JMS message
|
Map<String,Object> |
extractHeadersFromJms(javax.jms.Message jmsMessage,
org.apache.camel.Exchange exchange) |
protected JmsMessageType |
getJMSMessageTypeForBody(org.apache.camel.Exchange exchange,
Object body,
Map<String,Object> headers,
javax.jms.Session session,
org.apache.camel.CamelContext context)
Return the
JmsMessageType |
Object |
getObjectProperty(javax.jms.Message jmsMessage,
String name) |
protected Object |
getValidJMSHeaderValue(String headerName,
Object headerValue)
Strategy to test if the given header is valid according to the JMS spec to be set as a property
on the JMS message.
|
protected boolean |
isStandardJMSHeader(String headerName)
Is the given header a standard JMS header
|
javax.jms.Message |
makeJmsMessage(org.apache.camel.Exchange exchange,
org.apache.camel.Message camelMessage,
javax.jms.Session session,
Exception cause)
Creates a JMS message from the Camel exchange and message
|
javax.jms.Message |
makeJmsMessage(org.apache.camel.Exchange exchange,
javax.jms.Session session)
Creates a JMS message from the Camel exchange and message
|
protected void |
populateMapMessage(javax.jms.MapMessage message,
Map<?,?> map,
org.apache.camel.CamelContext context)
Populates a
MapMessage from a Map instance. |
protected boolean |
shouldOutputHeader(org.apache.camel.Message camelMessage,
String headerName,
Object headerValue,
org.apache.camel.Exchange exchange)
Strategy to allow filtering of headers which are put on the JMS message
Note: Currently only supports sending java identifiers as keys
|
public JmsBinding()
public JmsBinding(JmsEndpoint endpoint)
public Object extractBodyFromJms(org.apache.camel.Exchange exchange, javax.jms.Message message)
exchange
- the exchangemessage
- the message to extract its bodypublic Map<String,Object> extractHeadersFromJms(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange)
public Object getObjectProperty(javax.jms.Message jmsMessage, String name) throws javax.jms.JMSException
javax.jms.JMSException
protected byte[] createByteArrayFromBytesMessage(javax.jms.BytesMessage message) throws javax.jms.JMSException
javax.jms.JMSException
public javax.jms.Message makeJmsMessage(org.apache.camel.Exchange exchange, javax.jms.Session session) throws javax.jms.JMSException
exchange
- the current exchangesession
- the JMS session used to create the messagejavax.jms.JMSException
- if the message could not be createdpublic javax.jms.Message makeJmsMessage(org.apache.camel.Exchange exchange, org.apache.camel.Message camelMessage, javax.jms.Session session, Exception cause) throws javax.jms.JMSException
exchange
- the current exchangecamelMessage
- the body to make a javax.jms.Message assession
- the JMS session used to create the messagecause
- optional exception occurred that should be sent as reply instead of a regular bodyjavax.jms.JMSException
- if the message could not be createdpublic void appendJmsProperties(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange) throws javax.jms.JMSException
JmsMessage
javax.jms.JMSException
public void appendJmsProperties(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange, org.apache.camel.Message in) throws javax.jms.JMSException
JmsMessage
javax.jms.JMSException
public void appendJmsProperty(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange, org.apache.camel.Message in, String headerName, Object headerValue) throws javax.jms.JMSException
javax.jms.JMSException
protected boolean isStandardJMSHeader(String headerName)
headerName
- the header nameprotected Object getValidJMSHeaderValue(String headerName, Object headerValue)
headerName
- the header nameheaderValue
- the header valueprotected javax.jms.Message createJmsMessage(Exception cause, javax.jms.Session session) throws javax.jms.JMSException
javax.jms.JMSException
protected javax.jms.Message createJmsMessage(org.apache.camel.Exchange exchange, Object body, Map<String,Object> headers, javax.jms.Session session, org.apache.camel.CamelContext context) throws javax.jms.JMSException
javax.jms.JMSException
protected JmsMessageType getJMSMessageTypeForBody(org.apache.camel.Exchange exchange, Object body, Map<String,Object> headers, javax.jms.Session session, org.apache.camel.CamelContext context)
JmsMessageType
protected javax.jms.Message createJmsMessageForType(org.apache.camel.Exchange exchange, Object body, Map<String,Object> headers, javax.jms.Session session, org.apache.camel.CamelContext context, JmsMessageType type) throws javax.jms.JMSException
Message
javax.jms.JMSException
protected void populateMapMessage(javax.jms.MapMessage message, Map<?,?> map, org.apache.camel.CamelContext context) throws javax.jms.JMSException
MapMessage
from a Map
instance.javax.jms.JMSException
public Map<String,Object> createMapFromMapMessage(javax.jms.MapMessage message) throws javax.jms.JMSException
Map
from a MapMessage
javax.jms.JMSException
protected boolean shouldOutputHeader(org.apache.camel.Message camelMessage, String headerName, Object headerValue, org.apache.camel.Exchange exchange)
Apache Camel