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 65 Next »

On This Page:

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

Required Stream Properties

To create Outbound JMS Stream:

  1. Set the Stream Title.
  2. Set the Instance with AppID (=10000).
  3. Choose the Stream Direction: Outbound.
  4. Choose your Ruleset File. For outbound destinations this parameter is ignored.
  5. Set the Connection Name (defined in connection.json files, see JMS Configurations)
  6. Choose the Destination Type: Queue, Topic or Alias.
  7. Set the Destination Name: queue name or topic or alias name accordingly.

Optional Stream Properties

  • JMS Connection User - the 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

Required Stream Properties

To create an Inbound JMS Stream:

  1. Enter the Stream Title.
  2. Set the Instance with AppID (=10000).
  3. Choose Inbound as the the Stream Direction.
  4. Choose your Ruleset File to process incoming JMS messages
  5. Set the Connection Name (defined in connection.json files, see JMS Configurations)
  6. Select the Destination Type: Queue or Topic or Alias
  7. Enter 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.

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:

{
	"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 SelectorA JMS message selector allows the user to specify, by header field references and property references, the messages it is interested in.
  • 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, 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 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.

  • No labels