public class JMSFacade extends JndiBase implements HasPhysicalDestination, IXAEnabled
Queue
or Topic
is used.
destinationType
field specifies which
type should be used.Modifier and Type | Class and Description |
---|---|
static class |
JMSFacade.AcknowledgeMode |
static class |
JMSFacade.DeliveryMode |
static class |
JMSFacade.DestinationType |
static class |
JMSFacade.SubscriberType |
Modifier and Type | Field and Description |
---|---|
protected MessagingSource |
messagingSource |
Constructor and Description |
---|
JMSFacade() |
Modifier and Type | Method and Description |
---|---|
void |
checkTransactionManagerValidity() |
void |
close()
Releases references to serviceQueue and connection.
|
protected void |
closeSession(javax.jms.Session session) |
void |
configure() |
javax.jms.Message |
createMessage(javax.jms.Session session,
String correlationID,
Message message) |
protected javax.jms.Session |
createSession()
Returns a session on the connection for a topic or a queue
|
Message |
extractMessage(javax.jms.Message jmsMessage,
Map<String,Object> context,
boolean soap,
String soapHeaderSessionKey,
SoapWrapper soapWrapper)
Extracts string from message obtained from getRawMessage(Map).
|
protected Message |
extractMessageBody(Message message,
Map<String,Object> context,
SoapWrapper soapWrapper) |
JMSFacade.AcknowledgeMode |
getAcknowledgeModeEnum() |
String |
getConnectionFactoryInfo() |
String |
getConnectionFactoryName() |
MessageContext |
getContext(javax.jms.Message message) |
javax.jms.Destination |
getDestination() |
javax.jms.Destination |
getDestination(String destinationName) |
protected JmsMessagingSource |
getJmsMessagingSource() |
protected String |
getLogPrefix() |
Object |
getManagedConnectionFactory() |
javax.jms.MessageConsumer |
getMessageConsumer(javax.jms.Session session,
javax.jms.Destination destination)
Create a MessageConsumer, on a specific session and for a specific destination.
|
javax.jms.MessageConsumer |
getMessageConsumer(javax.jms.Session session,
javax.jms.Destination destination,
String selector)
Create a MessageConsumer.
|
javax.jms.MessageConsumer |
getMessageConsumerForCorrelationId(javax.jms.Session session,
javax.jms.Destination destination,
String correlationId)
Gets a MessageConsumer object for either Topics or Queues.
|
javax.jms.MessageProducer |
getMessageProducer(javax.jms.Session session,
javax.jms.Destination destination) |
protected MessagingSource |
getMessagingSource() |
protected MessagingSourceFactory |
getMessagingSourceFactory() |
String |
getPhysicalDestinationName() |
String |
getPhysicalDestinationShortName() |
String |
getPhysicalDestinationShortName(boolean throwException) |
boolean |
isSessionsArePooled() |
protected void |
logMessageDetails(javax.jms.Message message,
javax.jms.MessageProducer messageProducer) |
void |
open()
Obtains a connection and a serviceQueue.
|
String |
send(javax.jms.MessageProducer messageProducer,
javax.jms.Message message)
Send a message
|
String |
send(javax.jms.MessageProducer messageProducer,
javax.jms.Message message,
boolean ignoreInvalidDestinationException) |
String |
send(javax.jms.Session session,
javax.jms.Destination dest,
javax.jms.Message message)
Send a message
|
String |
send(javax.jms.Session session,
javax.jms.Destination dest,
javax.jms.Message message,
boolean ignoreInvalidDestinationException) |
String |
send(javax.jms.Session session,
javax.jms.Destination dest,
String correlationId,
Message message,
String messageType,
long timeToLive,
int deliveryMode,
int priority) |
String |
send(javax.jms.Session session,
javax.jms.Destination dest,
String correlationId,
Message message,
String messageType,
long timeToLive,
int deliveryMode,
int priority,
boolean ignoreInvalidDestinationException) |
String |
send(javax.jms.Session session,
javax.jms.Destination dest,
String correlationId,
Message message,
String messageType,
long timeToLive,
int deliveryMode,
int priority,
boolean ignoreInvalidDestinationException,
Map<String,Object> properties) |
protected String |
sendByQueue(javax.jms.QueueSession session,
javax.jms.Queue destination,
javax.jms.Message message) |
protected String |
sendByTopic(javax.jms.TopicSession session,
javax.jms.Topic destination,
javax.jms.Message message) |
void |
setAckMode(int ackMode)
Deprecated.
|
void |
setAcknowledgeMode(String acknowledgeMode)
If not transacted, the way the application informs the JMS provider that it has successfully received a message.
|
void |
setAuthAlias(String string)
Alias used to obtain credentials for authentication to JMS server
|
void |
setCorrelationIdMaxLength(int i)
If set (>=0) and the length of the correlationId exceeds this maximum length, the correlationId is trimmed from the left side of a string to this maximum length
|
void |
setCorrelationIdToHex(boolean correlationIdToHex)
Transform the value of the correlationid to a hexadecimal value if it starts with id: (preserving the id: part).
|
void |
setCorrelationIdToHexPrefix(String correlationIdToHexPrefix)
Prefix to check before executing correlationIdToHex.
|
void |
setDestinationName(String destinationName)
Name of the JMS destination (queue or topic) to use
|
void |
setDestinationType(JMSFacade.DestinationType destinationType)
Type of the messageing destination.
|
void |
setJmsTransacted(boolean jmsTransacted)
Deprecated.
This attribute has been added to provide the pre-4.1 transaction functionality to configurations that
relied this specific functionality. New configurations should not use it.
|
void |
setLookupDestination(boolean b)
If set
false , the destinationName is used directly instead of performing a JNDI lookup |
void |
setMessageCorrelationID(javax.jms.Message message,
String correlationID) |
void |
setMessageSelector(String newMessageSelector)
If set, the value of this attribute is used as a selector to filter messages.
|
void |
setMessageTimeToLive(long ttl)
The time in milliseconds it takes for the message to expire.
|
void |
setPersistent(boolean value)
Deprecated.
|
void |
setQueueConnectionFactoryName(String name)
Used when
destinationType = QUEUE . |
void |
setSubscriberType(JMSFacade.SubscriberType subscriberType)
Only applicable for topics
|
void |
setTopicConnectionFactoryName(String topicConnectionFactoryName)
Used when
destinationType = TOPIC . |
void |
setTransacted(boolean transacted)
Controls whether messages are send under transaction control.
|
String |
toString() |
boolean |
useJms102() |
getContext, getJndiEnv, setAuthentication, setCredentials, setInitialContextFactoryName, setJmsRealm, setJndiAuthAlias, setJndiContextPrefix, setJndiProperties, setName, setPrincipal, setProviderURL, setSecurityProtocol, setUrlPkgPrefixes
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getDomain
isTransacted
getName
getApplicationContext, getName
getConfigurationClassLoader
protected MessagingSource messagingSource
protected String getLogPrefix()
public boolean useJms102()
public void configure() throws ConfigurationException
configure
in interface IConfigurable
configure
in class JndiBase
ConfigurationException
public String getConnectionFactoryName() throws JmsException
JmsException
public Object getManagedConnectionFactory() throws JmsException
JmsException
public String getConnectionFactoryInfo() throws JmsException
JmsException
protected JmsMessagingSource getJmsMessagingSource() throws JmsException
JmsException
protected MessagingSourceFactory getMessagingSourceFactory()
protected MessagingSource getMessagingSource() throws JmsException
JmsException
protected javax.jms.Session createSession() throws JmsException
JmsException
protected void closeSession(javax.jms.Session session)
public void close()
public javax.jms.Message createMessage(javax.jms.Session session, String correlationID, Message message) throws javax.jms.JMSException, IOException
javax.jms.JMSException
IOException
public void setMessageCorrelationID(javax.jms.Message message, String correlationID) throws javax.jms.JMSException
javax.jms.JMSException
public javax.jms.Destination getDestination() throws NamingException, javax.jms.JMSException, JmsException
NamingException
javax.jms.JMSException
JmsException
public javax.jms.Destination getDestination(String destinationName)
public javax.jms.MessageConsumer getMessageConsumerForCorrelationId(javax.jms.Session session, javax.jms.Destination destination, String correlationId) throws javax.jms.JMSException
javax.jms.JMSException
public javax.jms.MessageConsumer getMessageConsumer(javax.jms.Session session, javax.jms.Destination destination, String selector) throws javax.jms.JMSException
getMessageConsumerForCorrelationId
should be used, otherwise the getMessageConsumer
function which has no attribute for
selector
. When a MessageSelector is set, it will be used when no correlation id is required.session
- the Sessiondestination
- the Destinationselector
- the MessageSelectorjavax.jms.JMSException
public javax.jms.MessageConsumer getMessageConsumer(javax.jms.Session session, javax.jms.Destination destination) throws NamingException, javax.jms.JMSException
session
- the Sessiondestination
- the DestinationNamingException
javax.jms.JMSException
public javax.jms.MessageProducer getMessageProducer(javax.jms.Session session, javax.jms.Destination destination) throws NamingException, javax.jms.JMSException
NamingException
javax.jms.JMSException
public String getPhysicalDestinationShortName()
public String getPhysicalDestinationShortName(boolean throwException) throws JmsException
JmsException
public String getPhysicalDestinationName()
getPhysicalDestinationName
in interface HasPhysicalDestination
public String send(javax.jms.Session session, javax.jms.Destination dest, String correlationId, Message message, String messageType, long timeToLive, int deliveryMode, int priority) throws javax.jms.JMSException, SenderException, IOException
javax.jms.JMSException
SenderException
IOException
public String send(javax.jms.Session session, javax.jms.Destination dest, String correlationId, Message message, String messageType, long timeToLive, int deliveryMode, int priority, boolean ignoreInvalidDestinationException) throws javax.jms.JMSException, SenderException, IOException
javax.jms.JMSException
SenderException
IOException
public String send(javax.jms.Session session, javax.jms.Destination dest, String correlationId, Message message, String messageType, long timeToLive, int deliveryMode, int priority, boolean ignoreInvalidDestinationException, Map<String,Object> properties) throws javax.jms.JMSException, SenderException, IOException
javax.jms.JMSException
SenderException
IOException
public String send(javax.jms.MessageProducer messageProducer, javax.jms.Message message) throws javax.jms.JMSException
messageProducer
- message
- javax.jms.JMSException
public String send(javax.jms.MessageProducer messageProducer, javax.jms.Message message, boolean ignoreInvalidDestinationException) throws javax.jms.JMSException
javax.jms.JMSException
protected void logMessageDetails(javax.jms.Message message, javax.jms.MessageProducer messageProducer) throws javax.jms.JMSException
javax.jms.JMSException
public String send(javax.jms.Session session, javax.jms.Destination dest, javax.jms.Message message) throws javax.jms.JMSException
session
- dest
- destinationmessage
- javax.jms.JMSException
public String send(javax.jms.Session session, javax.jms.Destination dest, javax.jms.Message message, boolean ignoreInvalidDestinationException) throws javax.jms.JMSException
javax.jms.JMSException
protected String sendByQueue(javax.jms.QueueSession session, javax.jms.Queue destination, javax.jms.Message message) throws javax.jms.JMSException
javax.jms.JMSException
protected String sendByTopic(javax.jms.TopicSession session, javax.jms.Topic destination, javax.jms.Message message) throws javax.jms.JMSException
javax.jms.JMSException
public boolean isSessionsArePooled()
public MessageContext getContext(javax.jms.Message message) throws javax.jms.JMSException
javax.jms.JMSException
public Message extractMessage(javax.jms.Message jmsMessage, Map<String,Object> context, boolean soap, String soapHeaderSessionKey, SoapWrapper soapWrapper) throws javax.jms.JMSException, SAXException, TransformerException, IOException
javax.jms.JMSException
SAXException
TransformerException
IOException
protected Message extractMessageBody(Message message, Map<String,Object> context, SoapWrapper soapWrapper) throws SAXException, TransformerException, IOException
public void checkTransactionManagerValidity()
public void setDestinationName(String destinationName)
public void setDestinationType(JMSFacade.DestinationType destinationType)
useTopicFunctions
field,
that controls whether Topic functions are used or Queue functions.@Deprecated @ConfigurationWarning(value="please use attribute acknowledgeMode instead") public void setAckMode(int ackMode)
public void setAcknowledgeMode(String acknowledgeMode)
public JMSFacade.AcknowledgeMode getAcknowledgeModeEnum()
@Deprecated public void setPersistent(boolean value)
true
, the JMS provider ensures that messages aren't lost when the application might crash.public void setSubscriberType(JMSFacade.SubscriberType subscriberType)
public void setQueueConnectionFactoryName(String name)
destinationType
= QUEUE
.
The JNDI-name of the queueConnectionFactory to use to connect to a queue
if IXAEnabled.isTransacted()
returns false
.
The corresponding connection factory should be configured not to support XA transactions.public void setTopicConnectionFactoryName(String topicConnectionFactoryName)
destinationType
= TOPIC
.
The JNDI-name of the connection factory to use to connect to a topic if IXAEnabled.isTransacted()
returns false
.
The corresponding connection factory should be configured not to support XA transactions.@Deprecated public void setJmsTransacted(boolean jmsTransacted)
transacted
attribute, however, is now in uses to indicate the use of XA-transactions. XA transactions can be used
in a pipeline to simultaneously (in one transaction) commit or rollback messages send to a number of queues, or
even together with database actions.public void setTransacted(boolean transacted)
true
, messages are committed or rolled back under control of an XA-transaction.public void setCorrelationIdToHex(boolean correlationIdToHex)
public void setCorrelationIdToHexPrefix(String correlationIdToHexPrefix)
public void setMessageTimeToLive(long ttl)
public void setCorrelationIdMaxLength(int i)
public void setMessageSelector(String newMessageSelector)
public void setAuthAlias(String string)
public void setLookupDestination(boolean b)
false
, the destinationName is used directly instead of performing a JNDI lookupCopyright © 2023 Frank!Framework. All rights reserved.