Tibco EMS

Connecting with Tibco EMS – Mulesoft / Mule ESB Tutorial

In this Mulesoft / Mule ESB tutorial we will connect with Tibco EMS server Queue and send messages across:

Mule JMS Connector

Inbound – Mule JMS will receive the message and be used with an inbound endpoint.
Outbound – Mule JMS will send the message and be used with an outbound endpoint.

<jms:outbound-endpoint queue="my.queue"/>;

<jms:inbound-endpoint topic="my.topic"/>;

Below are the steps:

1. Connect to Tibco EMS Server

Make sure that you know the EMS Url, username and password and are able to connect to Tibco EMS server that you want your mule application to connect with.

Here we are using our local EMS server to connect, and queue “testq”.

EMS Admin Tool

2. Importing EMS lib into Mule:

We need to import EMS java library into mule project to help connect the EMS server. If you are using a local EMS server to connect with, then you don’t need to download any of the libraries as you can find them in EMS installed location on your system (Go to: [ems installed folder]/[version]/lib).

Files Needed:

  1. jms-2.0.jar
  2. tibjms.jar
  3. tibjmsadmin.jar

Jars required to connect to EMS server

3. Creating the flow:

In this Mule example we will read the content from a file and post that content to a JMS queue “testq”.

Mule Process Design

4. Configure Mule File Connector:

Configure input directory and output directory.

File Connector Configuration


5. Configure Mule JMS Connector:

Specify the queue name and click to add Connector Configuration

Select “JMS” and click “OK”

Specify User Name and Password in the General Tab

In advanced tab, Initial Factory will always be same “com.tibco.tibjms.naming.TibjmsInitialContextFactory”, specify Provider URL and Connection Factory as per your EMS server.

6. Run the Mule Application

If connections details provided are correct then the mule application will read the file in the input folder and JMS will send the message to “testq” queue.

Message received on testq

Here’s how the mule code will look like in configuration XML

[xhtml] <jms:connector name=”TibJMS” validateConnections=”true” jndiProviderUrl=”tcp://localhost:7222″ jndiInitialFactory=”com.tibco.tibjms.naming.TibjmsInitialContextFactory” doc:name=”JMS” connectionFactoryJndiName=”QueueConnectionFactory” persistentDelivery=”true” username=”admin” password=”admin”/>;
<flow name=”readfileFlow”>;
<file:inbound-endpoint responseTimeout=”10000″ doc:name=”File” moveToDirectory=”src/main/resources/output” path=”src/main/resources/input”>;
<jms:outbound-endpoint queue=”testq” connector-ref=”TibJMS” doc:name=”JMS”>;
<jms:transaction action=”NONE”/>;

Varun Goel

About Varun Goel

Varun Goel is a technology enthusiast with 6+ years exp in IT industry. In fact, he is been developing application after schooling as freelancer. Currently working with one of the Fortune’s 100 Companies having vast experience Mule ESB, Tibco, HTML5, CSS, JSS, Android, Core Java, JSP, PHP, MySQL, AutoCAD, Maya, ZBrush, Photoshop, Flash CS and many more.


  1. Prasannachakravarthi

    In any ESB we must need an dedicated JMS services to connect & use.
    TIBCO is having EMS which Java implementation of JMS.
    I understand Mulesoft will be able to establish the connectivity with MQ, TIBCO EMS etc.,
    But just want to know whether Mule soft is having any feature to setup JMS services ?
    If yes then any idea how it’s works ? Is it same like TIBCO EMS services ?
    all the Queue / Topic properties supported ?

Leave a Reply

Your email address will not be published.