TIBCO JMS Event Receiver
TIBCO JMS event receiver is an internal event receiver that comes with WSO2 products by default . You can configure it with XML , JSON , and text input mapping types.
Prerequisites
Follow the steps below to set up the prerequisites before starting the configuration.
Download and install TIBCO Enterprise Message Service. For more information on installing, go to TIBCO documentation.
- Start the TIBCO EMS Server.
Creating a TIBCO JMS event receiver
For instructions on creating an TIBCO JMS event receiver, see Configuring Event Receivers.
Configuring adapter properties
Specify the Adapter Properties, when creating an TIBCO JMS event receiver using the management console as shown below.
When configuring WSO2 DAS for fail over connections, specify JNDI Provider URLs as a comma-separated list of URLs.
eg: tibjmsnaming://localhost:7222, tibjmsnaming://localhost:7224
WSO2 DAS will attempt to connect to each URL in the ordered list. If a connection to one URL fails, the WSO2 DAS will try the next URL in the list.
After entering the above adapter properties, select the Event Stream to which you want to map the incoming events, and the Message Format that you want to apply to the receiving events . Also, click Advanced to define custom input mappings based on the Message Format you selected. For more information on custom input mapping types, see Input Mapping Types.
You can also define the respective adapter properties of the event receiver based on the transport type within the <from>
element of the event receiver configuration in the <PRODUCT_HOME>/repository/deployment/server/eventreceivers/
directory as follows.
<eventReceiver name="TibcoJmsReceiver" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventreceiver"> <from eventAdapterType="jms"> <property name="transport.jms.DestinationType">topic</property> <property name="transport.jms.DurableSubscriberName">subscriber</property> <property name="transport.jms.Destination">Test Topic</property> <property name="java.naming.factory.initial">com.tibco.tibjms.naming.TibjmsInitialContextFactory</property> <property name="java.naming.provider.url">tibjmsnaming://localhost:7222</property> <property name="transport.jms.SubscriptionDurable">true</property> <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property> <property encrypted="true" name="transport.jms.Password">JP4yDiEh6HogOEjJzQQwHaJFIWZlnJTzaERl4eYrwukNeypm36R+odMkaN9b2q4H9jBQsRV+mhcT1wQVnBpEZn4a+SuFuLKh3NihDEgww6R1tZVo8p1D6TUKvSHXYEpwSOgKrkOmdaFEOQOjfdhfK3Hrnjkz/MYPYQknrLK5MIY=</property> <property name="transport.jms.UserName">jms-user</property> </from> ............... </eventReceiver>
The above adapter properties are described below.
Adapter Property | Description | Configuration file property | Example |
---|---|---|---|
Topic/Queue Name | A string of characters to denote a valid name of a JMS topic to subscribe to, or named queue to use when WSO2 DAS sends and receives messages. | transport.jms.Destination | Test Topic |
JNDI Initial Context Factory Class | JNDI initial context factory class. The class must implement the | java.naming.factory.initial | com.tibco.tibjms.naming.TibjmsInitialContextFactory |
JNDI Provider URL | URL of the JNDI provider. | java.naming.provider.url | tibjmsnaming://localhost:7222 |
The JMS connection password | A valid password for the JMS connection. | transport.jms.Password | jms-password |
The JMS connection username | A valid username for the JMS connection. | transport.jms.UserName | jms-user |
Connection Factory JNDI Name | The JNDI name of the connection factory. | transport.jms.ConnectionFactoryJNDIName | TopicConnectionFactory When specifying "Connection Factory JNDI Name" make sure to give the correct JNDI name configured in the broker. |
Destination Type | The sort order for messages that arrive on a specific destination. | transport.jms.DestinationType | topic/queue |
Enable Durable Subscription | Whether the subscription is durable or not. | transport.jms.SubscriptionDurable | true/false |
Durable Subscriber Name | A string of characters to denote a valid name of the durable subscriber. (It enables durable subscription if you add any value here). | transport.jms.DurableSubscriberName | subscriber |
JMS Properties | Valid property and value pairs to denote Axis2 JMS properties (e.g. "property1: value1, property2: value2") For more information on Axis2 JMS properties, go to Apache AXIS2 Transports Documentation. | jms.properties | SessionTransacted:false |