public class JmsBinding extends Object
Exchange and Message to
and from a JMS Message| Constructor and Description |
|---|
JmsBinding(boolean mapJmsMessage,
boolean allowNullBody,
org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy,
JmsKeyFormatStrategy jmsJmsKeyFormatStrategy,
MessageCreatedStrategy messageCreatedStrategy) |
| Modifier and Type | Method and Description |
|---|---|
void |
appendJmsProperties(javax.jms.Message jmsMessage,
org.apache.camel.Exchange exchange,
Map<String,Object> headers)
Appends the JMS headers from the Camel
Message |
void |
appendJmsProperty(javax.jms.Message jmsMessage,
org.apache.camel.Exchange exchange,
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
|
protected void |
populateMapMessage(javax.jms.MapMessage message,
Map<?,?> map,
org.apache.camel.CamelContext context)
Populates a
MapMessage from a Map instance. |
protected boolean |
shouldOutputHeader(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(boolean mapJmsMessage,
boolean allowNullBody,
org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy,
JmsKeyFormatStrategy jmsJmsKeyFormatStrategy,
MessageCreatedStrategy messageCreatedStrategy)
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.JMSExceptionprotected byte[] createByteArrayFromBytesMessage(javax.jms.BytesMessage message)
throws javax.jms.JMSException
javax.jms.JMSExceptionpublic 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,
Map<String,Object> headers)
throws javax.jms.JMSException
Messagejavax.jms.JMSExceptionpublic void appendJmsProperty(javax.jms.Message jmsMessage,
org.apache.camel.Exchange exchange,
String headerName,
Object headerValue)
throws javax.jms.JMSException
javax.jms.JMSExceptionprotected 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.JMSExceptionprotected 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.JMSExceptionprotected JmsMessageType getJMSMessageTypeForBody(org.apache.camel.Exchange exchange, Object body, Map<String,Object> headers, javax.jms.Session session, org.apache.camel.CamelContext context)
JmsMessageTypeprotected 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
Messagejavax.jms.JMSExceptionprotected void populateMapMessage(javax.jms.MapMessage message,
Map<?,?> map,
org.apache.camel.CamelContext context)
throws javax.jms.JMSException
MapMessage from a Map instance.javax.jms.JMSExceptionpublic Map<String,Object> createMapFromMapMessage(javax.jms.MapMessage message) throws javax.jms.JMSException
Map from a MapMessagejavax.jms.JMSExceptionApache Camel