Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 56 Next »

The MC2 plugin enables you to define the format of streams for JMS components:

  • Outbound stream
  • Inbound stream 

Create Outbound Stream

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

Additional Stream properties you can set up:

  • 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.

To add some URI parameters of Camel JMS Component described in Camel documentation Apache Camel JMS Component, you must construct a string that corresponds with following format of URI: parameterName1=value1&parameterName2=value2......

JMS Connection User Name and JMS Connection Password

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 (JMS Consumer)

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


Additional Stream properties you can set up:

• 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;

                                                     BE AWARE: 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;

                                                     Important: Pay attention to Connection Name you are going to set for Durable Topic Subscription Stream - you must

                                                                        use component name without polled connection settings. We named those components as ***-no-pool.

                                                                        Example:

                                                                            you create new connection for Durable Topic Subscription Stream connection.json:

                                                                               {
                                                                                   "ConnectionName": "myactivemq3-tds.connection",
                                                                                   "ComponentName": "eagle-amq-no-pool",
                                                                                   "Parameters": {
                                                                                          "brokerURL": "tcp://inno-jenever03.eagleinvsys.com:61616"
                                                                                    }
                                                                                }

                                                                            as we can see here we chose eagle-amq-no-pool component name;

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 SelectorA 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:

Σ consumers_for_stream + 1 = "MaximumActiveSessionPerConnection" (for PooledConnectionFactory class for ActiveMQ)


URI parameters - extra parameters for fine-tuning JMS Consumer.

To add some URI parameters of Camel JMS Component being described in Camel documentation Apache Camel JMS Component,

you have to construct a string that corresponds with following format of URI:

parameterName1=value1&parameterName2=value2......

RequestReply JMS Consumer pattern - to enable RequestReply JMS consumer behaviour (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.

These 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 and it also will be accessed in rule.


After making any change in Stream configuration, you must restart mc2 to apply all changes.

Since mc2 July release we will introduce on-the-fly ability to apply stream changes.


  • No labels