Skip to content

API Docs - v2.0.5

Tested Siddhi Core version: 5.1.21

It could also support other Siddhi Core minor versions.

Sink

jms (Sink)

JMS Sink allows users to subscribe to a JMS broker and publish JMS messages.

Syntax

@sink(type="jms", destination="<STRING>", connection.factory.jndi.name="<STRING>", factory.initial="<STRING>", provider.url="<STRING>", connection.factory.type="<STRING>", connection.username="<STRING>", connection.password="<STRING>", connection.factory.nature="<STRING>", @map(...)))

QUERY PARAMETERS

Name Description Default Value Possible Data Types Optional Dynamic
destination

Queue/Topic name which JMS Source should subscribe to

STRING No Yes
connection.factory.jndi.name

JMS Connection Factory JNDI name. This value will be used for the JNDI lookup to find the JMS Connection Factory.

QueueConnectionFactory STRING Yes No
factory.initial

Naming factory initial value

STRING No No
provider.url

Java naming provider URL. Property for specifying configuration information for the service provider to use. The value of the property should contain a URL string (e.g. "ldap://somehost:389")

STRING No No
connection.factory.type

Type of the connection connection factory. This can be either queue or topic.

queue STRING Yes No
connection.username

username for the broker.

None STRING Yes No
connection.password

Password for the broker

None STRING Yes No
connection.factory.nature

Connection factory nature for the broker(cached/pooled).

default STRING Yes No

Examples EXAMPLE 1

@sink(type='jms', @map(type='xml'), factory.initial='org.apache.activemq.jndi.ActiveMQInitialContextFactory', provider.url='vm://localhost',destination='DAS_JMS_OUTPUT_TEST', connection.factory.type='topic',connection.factory.jndi.name='TopicConnectionFactory')
define stream inputStream (name string, age int, country string);

This example shows how to publish to an ActiveMQ topic.

EXAMPLE 2

@sink(type='jms', @map(type='xml'), factory.initial='org.apache.activemq.jndi.ActiveMQInitialContextFactory', provider.url='vm://localhost',destination='DAS_JMS_OUTPUT_TEST')
define stream inputStream (name string, age int, country string);

This example shows how to publish to an ActiveMQ queue. Note that we are not providing properties like connection factory type

Source

jms (Source)

JMS Source allows users to subscribe to a JMS broker and receive JMS messages. It has the ability to receive Map messages and Text messages.

Syntax

@source(type="jms", destination="<STRING>", connection.factory.jndi.name="<STRING>", factory.initial="<STRING>", provider.url="<STRING>", connection.factory.type="<STRING>", worker.count="<INT>", connection.username="<STRING>", connection.password="<STRING>", retry.interval="<INT>", retry.count="<INT>", use.receiver="<BOOL>", subscription.durable="<BOOL>", connection.factory.nature="<STRING>", @map(...)))

QUERY PARAMETERS

Name Description Default Value Possible Data Types Optional Dynamic
destination

Queue/Topic name which JMS Source should subscribe to

STRING No No
connection.factory.jndi.name

JMS Connection Factory JNDI name. This value will be used for the JNDI lookup to find the JMS Connection Factory.

QueueConnectionFactory STRING Yes No
factory.initial

Naming factory initial value

STRING No No
provider.url

Java naming provider URL. Property for specifying configuration information for the service provider to use. The value of the property should contain a URL string (e.g. "ldap://somehost:389")

STRING No No
connection.factory.type

Type of the connection connection factory. This can be either queue or topic.

queue STRING Yes No
worker.count

Number of worker threads listening on the given queue/topic.

1 INT Yes No
connection.username

username for the broker.

None STRING Yes No
connection.password

Password for the broker

None STRING Yes No
retry.interval

Interval between each retry attempt in case of connection failure in milliseconds.

10000 INT Yes No
retry.count

Number of maximum reties that will be attempted in case of connection failure with broker.

5 INT Yes No
use.receiver

Implementation to be used when consuming JMS messages. By default transport will use MessageListener and tweaking this property will make make use of MessageReceiver

false BOOL Yes No
subscription.durable

Property to enable durable subscription.

false BOOL Yes No
connection.factory.nature

Connection factory nature for the broker.

default STRING Yes No

Examples EXAMPLE 1

@source(type='jms', @map(type='json'), factory.initial='org.apache.activemq.jndi.ActiveMQInitialContextFactory', provider.url='tcp://localhost:61616',destination='DAS_JMS_TEST', connection.factory.type='topic',connection.factory.jndi.name='TopicConnectionFactory')
define stream inputStream (name string, age int, country string);

This example shows how to connect to an ActiveMQ topic and receive messages.

EXAMPLE 2

@source(type='jms', @map(type='json'), factory.initial='org.apache.activemq.jndi.ActiveMQInitialContextFactory', provider.url='tcp://localhost:61616',destination='DAS_JMS_TEST' )
define stream inputStream (name string, age int, country string);

This example shows how to connect to an ActiveMQ queue and receive messages. Note that we are not providing properties like connection factory type