JMS
The adapter exchanges messages via the Java Message Service queue of a message-oriented middleware product that serves as a JMS provider. The adapter supports sending and receiving messages to and from the JMS queue and can publish messages to JMS topics and subscribe to JMS topics.
Properties
Delete | (no function) |
File name | (no function) |
I/O Mode | (no function) |
Operation | Determines which operation is performed on the messages in the JMS queue. Possible values:
|
Parameters
object_name | Name of the JMS queue or JMS topic under which it is registered in the JNDI provider (Java Naming and Directory Interface). Possible values: Any string (e.g. |
connection_factory | Name of the JMS Connection Factory under which the message queue is registered in the JNDI (Java Naming and Directory Interface). Possible values: Any valid string (e.g. |
JNDIProperties | Additional properties of the JNDI provider Possible values: Any string with properties, separated by semicolons if there are several properties (e.g. java.naming.factory.initial=org.jnp.inter faces.Naming ContextFactory;java.naming.provi der.url=localhost:1099) |
approach | Used messaging channel type Possible values:
|
timeout | Time limit for establishing connection in milliseconds Possible values:
|
filter | Filters when receiving messages via JMS message selectors Possible values: Any string with properties according to the pattern |
msg_property | Header attributes of the JMS message when sending messages Possible values: Any string with properties according to the pattern |
headers_from_XML | Use header information of the input document Possible values:
|
transacted | Execute this process step in a local transaction Possible values:
|
ack_mode | Acknowledgement mode (this regulates the handling of acknowledgements of receipt) Possible values:
|
msg_priority | Message priority (9 has the highest priority) Possible values:
|
msg_expiration_time | Validity period of messages (lifetime) in milliseconds; after the validity has expired, the message is obsolete and is automatically removed from the queue Possible values:
|
msg_type | JMS message type Possible values:
|
subscription_name | Name of the subscription for permanent message subscriptions (if parameter approach has been set to topic). Possible values: Any string |
durable_subscription | Dauer des JMS-Subscriptions Possible values:
|
ClientID | Name of the JMS-Clients Possible values: Any string |
toXML | Output the JMS message including header information as an XML document (if the Operation property is set to Receive, the character set is adopted unchanged; Text/XML is then used as the MIME type). If you do not set the parameter toXML, then byte, stream or object messages are declared as MIME type Application/Octet-stream; text messages, on the other hand, are UTF-8 encoded and declared with MIME type Text/Plain. Possible values:
|
base64 | Output JMS message Base64-encoded (if parameter toXML is set) Possible values:
|
JMSReplyTo | Response message destination queue |
JMSCorrelationID | ID of the message to which the response refers (different parts of a message have the same JMSCorrelationID). |
login | Username for the JMS |
password | Password for the JMS |
The JMS queues available by default in the application server are not suitable for productive use because of the database system used (HSQLDB, Derby). Despite transactional processing, data can be lost with these. Only use database systems that can be used productively (Oracle, MSSQL etc.) for message persistence of JMS queues; see http://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/apbs04.html.
Status values
1 | The operation was executed successfully. |
0 | The operation was executed successfully, but without any result. |
-1 | The operation failed due to a technical error. |
Input: msg:type map
<?xml version="1.0" encoding="UTF-8"?>
<RootElement>
<Entry name="firstKey">Blub</Entry>
<Entry name="b" type="byte">1</Entry>
<Entry name="s" type="short">2</Entry>
<Entry name="i" type="integer">3</Entry>
<Entry name="l" type="long">4</Entry>
<Entry name="f" type="float">5.5</Entry>
<Entry name="d" type="double">6.6</Entry>
<Entry name="bool" type="boolean">true</Entry>
<Entry name="c" type="character">z</Entry>
<Entry name="blob" type="bytearray">aaaa</Entry>
</RootElement>
Input: msg:type map
und headers_from_XML
<?xml version="1.0" encoding="UTF-8"?>
<messages>
<message type="map">
<headers>
<header>
<name>myFirstHeader</name>
<value>the first</value>
</header>
<header>
<name>mySecondHeader</name>
<value>the second</value>
</header>
</headers>
<body>
<Entry name="firstKey">Blub</Entry>
<Entry type="byte" name="b">1</Entry>
<Entry type="short" name="s">2</Entry>
<Entry type="integer" name="i">3</Entry>
<Entry type="long" name="l">4</Entry>
<Entry type="float" name="f">5.5</Entry>
<Entry type="double" name="d">6.6</Entry>
<Entry type="boolean" name="bool">true</Entry>
<Entry type="character" name="c">z</Entry>
<Entry type="bytearray" name="blob">aaaa</Entry>
</body>
</message>
</messages>
Output: msg:type map
<?xml version="1.0" encoding="UTF-8"?>
<MapMessage>
<Entry name="b" type="Byte">1</Entry>
<Entry name="blob" encoding="base64" type="ByteArray">aaaa</Entry>
<Entry name="s" type="Short">2</Entry>
<Entry name="c" type="Character">z</Entry>
<Entry name="bool" type="Boolean">true</Entry>
<Entry name="d" type="Double">6.6</Entry>
<Entry name="f" type="Float">5.5</Entry>
<Entry name="firstKey" type="String">Blub</Entry>
<Entry name="i" type="Integer">3</Entry>
<Entry name="l" type="Long">4</Entry>
</MapMessage>
Output: msg:type map
und headers_to_XML
<?xml version="1.0" encoding="UTF-8"?>
<document>
<headers>
<header>
<name>mySecondHeader</name>
<value>the second</value>
</header>
<header>
<name>JMSMessageID</name>
<value>ID:4bedf9a6-05a1-11e7-bf59-eba4f4962570</value>
</header>
<header>
<name>JMSXDeliveryCount</name>
<value>1</value>
</header>
<header>
<name>myFirstHeader</name>
<value>the first</value>
</header>
</headers>
<body>
<MapMessage>
<Entry name="b" type="Byte">1</Entry>
<Entry name="blob" encoding="base64" type="ByteArray">aaaa</Entry>
<Entry name="s" type="Short">2</Entry>
<Entry name="c" type="Character">z</Entry>
<Entry name="bool" type="Boolean">true</Entry>
<Entry name="d" type="Double">6.6</Entry>
<Entry name="f" type="Float">5.5</Entry>
<Entry name="firstKey" type="String">Blub</Entry>
<Entry name="i" type="Integer">3</Entry>
<Entry name="l" type="Long">4</Entry>
</MapMessage>
</body>
</document>