Package org.apache.camel.component.jms
Class JmsBinding
- java.lang.Object
-
- org.apache.camel.component.jms.JmsBinding
-
public class JmsBinding extends Object
-
-
Constructor Summary
Constructors Constructor Description JmsBinding()JmsBinding(JmsEndpoint endpoint)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidappendJmsProperties(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange)Appends the JMS headers from the CamelJmsMessagevoidappendJmsProperties(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange, org.apache.camel.Message in)Appends the JMS headers from the CamelJmsMessagevoidappendJmsProperty(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange, String headerName, Object headerValue)protected ObjectcreateByteArrayFromBytesMessage(org.apache.camel.Exchange exchange, javax.jms.BytesMessage message)protected ObjectcreateInputStreamFromStreamMessage(javax.jms.StreamMessage message)protected javax.jms.MessagecreateJmsMessage(Exception cause, javax.jms.Session session)protected javax.jms.MessagecreateJmsMessage(org.apache.camel.Exchange exchange, Object body, Map<String,Object> headers, javax.jms.Session session, org.apache.camel.CamelContext context)protected javax.jms.MessagecreateJmsMessage(org.apache.camel.Exchange exchange, org.apache.camel.Message camelMessage, javax.jms.Session session, org.apache.camel.CamelContext context)protected javax.jms.MessagecreateJmsMessageForType(org.apache.camel.Exchange exchange, Object body, javax.jms.Session session, org.apache.camel.CamelContext context, JmsMessageType type)Create theMessageMap<String,Object>createMapFromMapMessage(javax.jms.MapMessage message)Extracts aMapfrom aMapMessageObjectextractBodyFromJms(org.apache.camel.Exchange exchange, javax.jms.Message message)Extracts the body from the JMS messageMap<String,Object>extractHeadersFromJms(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange)protected JmsMessageTypegetJMSMessageTypeForBody(org.apache.camel.Exchange exchange, Object body)Return theJmsMessageTypeObjectgetObjectProperty(javax.jms.Message jmsMessage, String name)Deprecated.not in useprotected ObjectgetValidJMSHeaderValue(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 booleanisStandardJMSHeader(String headerName)Is the given header a standard JMS headerjavax.jms.MessagemakeJmsMessage(org.apache.camel.Exchange exchange, javax.jms.Session session)Creates a JMS message from the Camel exchange and messagejavax.jms.MessagemakeJmsMessage(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 messageprotected voidpopulateMapMessage(javax.jms.MapMessage message, Map<?,?> map, org.apache.camel.CamelContext context)Populates aMapMessagefrom aMapinstance.protected booleanshouldOutputHeader(String headerName, Object headerValue, org.apache.camel.Exchange exchange)Strategy to allow filtering of headers which are put on the JMS message
-
-
-
Constructor Detail
-
JmsBinding
public JmsBinding()
-
JmsBinding
public JmsBinding(JmsEndpoint endpoint)
-
-
Method Detail
-
extractBodyFromJms
public Object extractBodyFromJms(org.apache.camel.Exchange exchange, javax.jms.Message message)
Extracts the body from the JMS message- Parameters:
exchange- the exchangemessage- the message to extract its body- Returns:
- the body, can be null
-
extractHeadersFromJms
public Map<String,Object> extractHeadersFromJms(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange)
-
getObjectProperty
@Deprecated public Object getObjectProperty(javax.jms.Message jmsMessage, String name) throws javax.jms.JMSException
Deprecated.not in use- Throws:
javax.jms.JMSException
-
createByteArrayFromBytesMessage
protected Object createByteArrayFromBytesMessage(org.apache.camel.Exchange exchange, javax.jms.BytesMessage message) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
createInputStreamFromStreamMessage
protected Object createInputStreamFromStreamMessage(javax.jms.StreamMessage message)
-
makeJmsMessage
public javax.jms.Message makeJmsMessage(org.apache.camel.Exchange exchange, javax.jms.Session session) throws javax.jms.JMSExceptionCreates a JMS message from the Camel exchange and message- Parameters:
exchange- the current exchangesession- the JMS session used to create the message- Returns:
- a newly created JMS Message instance containing the
- Throws:
javax.jms.JMSException- if the message could not be created
-
makeJmsMessage
public javax.jms.Message makeJmsMessage(org.apache.camel.Exchange exchange, org.apache.camel.Message camelMessage, javax.jms.Session session, Exception cause) throws javax.jms.JMSExceptionCreates a JMS message from the Camel exchange and message- Parameters:
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 body- Returns:
- a newly created JMS Message instance containing the
- Throws:
javax.jms.JMSException- if the message could not be created
-
appendJmsProperties
public void appendJmsProperties(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange) throws javax.jms.JMSExceptionAppends the JMS headers from the CamelJmsMessage- Throws:
javax.jms.JMSException
-
appendJmsProperties
public void appendJmsProperties(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange, org.apache.camel.Message in) throws javax.jms.JMSExceptionAppends the JMS headers from the CamelJmsMessage- Throws:
javax.jms.JMSException
-
appendJmsProperty
public void appendJmsProperty(javax.jms.Message jmsMessage, org.apache.camel.Exchange exchange, String headerName, Object headerValue) throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
isStandardJMSHeader
protected boolean isStandardJMSHeader(String headerName)
Is the given header a standard JMS header- Parameters:
headerName- the header name- Returns:
- true if its a standard JMS header
-
getValidJMSHeaderValue
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. This default implementation will allow:- any primitives and their counter Objects (Integer, Double etc.)
- String and any other literals, Character, CharSequence
- Boolean
- Number
- java.math.BigInteger
- java.math.BigDecimal
- java.util.Date
- Parameters:
headerName- the header nameheaderValue- the header value- Returns:
- the value to use, null to ignore this header
-
createJmsMessage
protected javax.jms.Message createJmsMessage(Exception cause, javax.jms.Session session) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
createJmsMessage
protected javax.jms.Message createJmsMessage(org.apache.camel.Exchange exchange, org.apache.camel.Message camelMessage, javax.jms.Session session, org.apache.camel.CamelContext context) throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
createJmsMessage
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- Throws:
javax.jms.JMSException
-
getJMSMessageTypeForBody
protected JmsMessageType getJMSMessageTypeForBody(org.apache.camel.Exchange exchange, Object body)
Return theJmsMessageType- Returns:
- type or null if no mapping was possible
-
createJmsMessageForType
protected javax.jms.Message createJmsMessageForType(org.apache.camel.Exchange exchange, Object body, javax.jms.Session session, org.apache.camel.CamelContext context, JmsMessageType type) throws javax.jms.JMSExceptionCreate theMessage- Returns:
- jmsMessage or null if the mapping was not successfully
- Throws:
javax.jms.JMSException
-
populateMapMessage
protected void populateMapMessage(javax.jms.MapMessage message, Map<?,?> map, org.apache.camel.CamelContext context) throws javax.jms.JMSExceptionPopulates aMapMessagefrom aMapinstance.- Throws:
javax.jms.JMSException
-
createMapFromMapMessage
public Map<String,Object> createMapFromMapMessage(javax.jms.MapMessage message) throws javax.jms.JMSException
Extracts aMapfrom aMapMessage- Throws:
javax.jms.JMSException
-
-