On This Page:
Table of Contents |
---|
The MC2 plugin enables you to define the format of streams for the following JMS components:
- Outbound stream, also known as JMS Producer
- Inbound stream, also know as JMS Consumer
Create Outbound Stream
Anchor | ||||
---|---|---|---|---|
|
Required Stream Properties
To create Outbound JMS Stream, you must:
- set the Stream Title
- set the Instance with AppID (=10000)
- choose the Stream Direction: Outbound
- choose your Ruleset File. For outbound destinations this parameter is ignored.
- set the Connection Name (defined in connection.json files, see JMS Configurations)
- choose the Destination Type: Queue or Topic or Alias
- set the Destination Name: queue name or topic or alias name accordingly
Optional Stream Properties
- JMS Connection User - it is login/user name which you have to provide to connect to JMS Broker if this one was set up to check user authorization.
- JMS Connection Password - the connection password.
- URI parameters - extra parameters for fine-tuning JMS Producer.
...
Warning | ||
---|---|---|
| ||
These parameters have scope of connection name not of Eagle JMS Stream. It means that if you have several JMS streams for the same connection name parameter then you must use the same credentials for these JMS streams. To use other credentials, you must create a new connection in the connection.json file and then use it in the target JMS Stream. |
Create Inbound Stream
Anchor | ||||
---|---|---|---|---|
|
Required Stream Properties
To create an Inbound JMS Stream, you must:
- set the Stream Title
- set the Instance with AppID (=10000)
- choose the Stream Direction: Inbound
- choose your Ruleset File to process incoming JMS messages
- set the Connection Name (defined in connection.json files, see JMS Configurations)
- choose the Destination Type: Queue or Topic or Alias
- set the Destination Name: queue name or topic or alias name accordingly
Optional Stream Properties
MC events log - scope of information to print in MC log
Sequential Reading - this option allows us make current Eagle JMS Stream as single JMS Consumer (single reader) across cluster.
Acceptable values: Y/N or empty value means N
Supported JMS destination types: QUEUE & TOPIC
Durable Subscription Name - this option allows us enable Topic Durable Subscription mode for current Eagle JMS Stream. A durable subscriber is a message consumer that receives all messages published on a topic, including messages published while the subscriber is inactive. In short it means that we want to have many topic subscribers, but additionally add persistence for our messages.
Acceptable values: alphanumeric and undersore characters. Empty value means that option is disabled. This option can be enabled if and only if Destination Type parameter is TOPIC, otherwise you will get Sequential-Reading JMS Consumer for appropriate QUEUE.
Warning |
---|
You must use component name without polled connection settings for the Connection Name you are going to set for Durable Topic Subscription Stream. These components are named as ***-no-pool. |
For example, you can create a new connection for Durable Topic Subscription Stream connection.json, using eagle-amq-no-pool as the component name:
Code Block |
---|
{ "ConnectionName": "myactivemq3-tds.connection", "ComponentName": "eagle-amq-no-pool", "Parameters": { "brokerURL": "tcp://inno-jenever03.eagleinvsys.com:61616" } } |
- JMS Connection User - it is login/user name which you have to provide to connect to JMS Broker if this one was set up to check user authorization.
- JMS Connection Password - the connection password.
- Consumer Selector - A JMS message selector allows the user to specify, by header field references and property references, the messages it is interested in. For more information refer to Message Selectors.
- Concurrent Consumers - you can specify the default number of concurrent consumers when consuming from JMS. Note: for ActiveMQ we should use the number of concurrent consumers calculated by this equation:
...
- URI parameters - extra parameters for fine-tuning JMS Consumer.
- To add some URI parameters of Camel JMS Component being described in Camel documentation, you have to construct a string that corresponds with following format of URI: parameterName1=value1¶meterName2=value2......
- RequestReply JMS Consumer pattern - to enable RequestReply JMS consumer behavior (sending the reply to the appropriate queue), you have to set replyTo URI parameter into URI parameters field of Stream properties and define the name of queue: replyTo=<destination name>.
Rule Variables
IN_MESSAGE - this variable will contain consumed JMS message.
The following JMS Headers can be accessed in rule preceded by header_* prefix:
breadcrumbId
CamelFileName
CamelFilePath
EagleStreamName
JMSCorrelationID
JMSCorrelationIDAsBytes
JMSMessageID
Also you can define your own JMS Header that can be accessed in the rule as well.