TIBCO EMS: How To Send And Receive JMS Messages in Queues

By | November 27, 2013

In this step by step tutorial, your will learn how to send and receive JMS queue messages in TIBCO. TIBCO EMS (Enterprise Messaging Service) is a standard messaging platform that simplifies and accelerates the integration and management of data distribution in high-performance, enterprise environments – enabling real-time decision-making and event-driven execution of business operations.

TIBCO EMS is actually a customization of Java Messaging Service (JMS) by TIBCO.  TIBCO EMS is one popular approach used for application integrations at enterprise level due to its reliability and efficiency.

In case of EMS based messaging in TIBCO, a centralized EMS server is used where queues and topics are maintained for storing and delivering EMS Messages. How TIBCO EMS messaging works? You will learn this by going through following easy and simple steps:

Step 1: Start EMS Server

First step in TIBCO EMS tutorial is to start EMS Server. Go to Start and open Run utility. Type services.msc in it and press enter.

how to start tibco ems service



Now you should be able to see all the services in your windows machine. From the list of services, go to TIBCO EMS Server and start it by right clicking.

services.mstsc ems service


Step 2: Create JMS Connection in TIBCO

For communicating with EMS Server, we need to create a JMS connection first. Create a new JMS connection by going through Add Resources–>JMS–JMS Connection. Make sure that JNDI Context URL has tcp prefix before host and port details.

create jms connection


Now you need to test the connection to make sure it connects successfully to the EMS Server. Press Test Connection button for this. You should get a pop up window like below for successful connection:

test jms connection

Step 3: Create JMS Message Sender and JMS Message Receiver Processes

We need to create one process for sending JMS message to a queue at EMS Server and another process which will be receiving this message from the queue.

create send and receive jms processes

Now we need to do the necessary implementation in both of these processes. First we look into the SendJMSMessage process. In this process, use a JMS Queue Sender activity and specify JMS Connection and Queue name in its configuration. For this example, we will use a sample queue (queue.sample which is already present in the list of EMS Queues).

jms queue sender configuration

In the Input Tab of JMS Queu Sender, we specify text which should be in the body of JMS message being sent to EMS Server.

tibco jms queue sender input mapping

Now validate this process and if it validates successfully, we are done with SendJMSMessage process.

Now we move to ReceiveJMSMessage process. In this process, use JMS Queue Receiver activity as process starter. Specify JMS Connection and queue name in its configuration. Queue name and connection should be same as of other process.

jms queue receiver configuration

Validate the process and after its successful validation, we are good to go for testing our project.


Step 4: Test TIBCO EMS Queue Message Sending and Receiving processes

Load both SendJMSMessage and ReceiveJMSMessage processes in TIBCO Designer Tester.

load jms processes in tester

Create a new process instance of process SendJMSMessage by clicking on Create a Job icon on tester. You will see that SendJMSMessage process runs and also ReceiveJMSMessage process gets executed.

jms processes testing


In the input data tab of JMS Queue Message Sender activity, we can see our message sent to EMS Server.

jms queue sender input data

In the JMS Queue Receiver activity of other process, we can see our message successfully received by the subscriber process.

This completes our tutorial How to Send and Receive JMS Messages in TIBCO EMS queues.



Ajmal Abbasi

Ajmal Hussain Abbasi is Integration Consultant By Profession with more than 7 years experience in TIBCO products. He has extensive practical knowledge of TIBCO Business Works, TIBCO Spotfire, TIBCO BE, EMS and TIBCO ActiveSpaces. He has worked on a number of highly critical integration projects in Telecom sector by using his skills in Tibco Designer, Adapters, TIBCO EMS, RV, Administrator, TIBCO BE, TIBCO ActiveSpaces etc.
Ajmal Abbasi is also experienced in developing solutions using Oracle PL/Sql, Linux and Java.
You can contact Ajmal Abbasi for Consultancy, Technical Assistance and Technical Discussions.

More Posts - Website - Facebook - LinkedIn

11 thoughts on “TIBCO EMS: How To Send And Receive JMS Messages in Queues

  1. eswaranarayanan

    I am facing issue on JMSQueue receiver when try to get Stream message . Getting the following error.
    “There was an error while parsing a message.”
    Schema object is send as input in JMSSendMessage.
    Please guide me to resolve this issue.

  2. Bruno Cardoso

    Hello Ajmal,
    I would like to know if it’s possible to get topic information such as pending messages using only Java. I know there are some Tibco products that allow it, but I must use only java.
    Best regards
    Bruno Cardoso da Silva.

  3. Pingback: TIBCO EMS Tutorial: How to Send and Receive JMS Messages Using Topics | Tibco Guide

  4. karan

    You are very much helpful to me.I have learnt so many things from your website as the things are explained in a very simple manner.Put some more examples on TIBCO EMS and RV messages so that it will deepen our knowledge.

  5. pankaj

    HI Ajmal sir, i am learning Tibco BW please refer me good books to learn if you can share notes then it will be so useful to me and i am thankful for you forever , and sir my doubt is as we use ACK modes rite ? where we can see these acknowledgements received from destination,. where is the physical location of ack ? Thank you..!

  6. harry

    Hi Ajmal,
    This is very good site, i learned a lot from this site. thanks you so much for this details.
    Could you please help me to understand the different activities of jMS pallate through example.
    I am looking for example for activities like – JMS queue/topic requestor, Reply to JMS, Wait for JMS message, etc.

    So can you please help me on these JMS activities.


  7. preeti

    how do u load multiple files to a queue through jms queue sender ?
    should i load an entire folder containing files or load those files one by one?
    anything be …how do i do ?

  8. Rao

    Hi ,

    One of our project we experience when we posting the message more than 100 MB it through out error of Heap Size we have set the initial heap size 512 MB ,Max Heap Size 1024 MB ,Max Job 1 ,Flow Limit 1.
    Error Message :
    java.lang.OutOfMemoryError: Java heap space at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:99)
    Any suggestion on above scenario


Leave a Reply

Your email address will not be published. Required fields are marked *