TIBCO EMS (Enterprise Messaging Service) is used for communication between processes and applications through a centralized EMS Server. EMS simplifies as well as standardizes integration of complex applications in an enterprise environment.
In this post, I am going to talk about TIBCO EMS Interview Questions and Answers based on my experience in this domain.
Q1: What is the difference between JMS and TIBCO EMS?
Ans: TIBCO EMS is a customization of JMS specifications by TIBCO. The difference between JMS and TIBCO EMS is that JMS provides two types of delivery modes which are Persistent and Non-Persistent while TIBCO EMS adds another type of delivery mode which is RELIABLE delivery mode.
Also, for restriction of messages acknowledgement, JMS provides NO_ACKNOWLEDGE mode while TIBCO EMS extends the functionality of JMS by providing EXPLICIT_CLIENT_ACKNOWLEDGE mode and EXPLICIT_CLIENT_DUPS_OK_ACKNOWLEDGE mode.
Q2: What is the difference between TIBCO EMS PERSISTENT, NON-PERSISTENT and RELIABLE delivery modes?
Ans: In PERSISTENT delivery mode, messages sent by the producer to the EMS Server are persisted/stored in a disk and a confirmation is sent to the producer for every message.
In case of Non-Persistent delivery mode, messages sent by the producer are not stored/persisted on EMS Server. Acknowledgement is sent back only if authorization is enabled.
In case of RELIABLE delivery mode, messages are not persisted and also, no acknowledgement is sent back to the producer.
Q3: What is the difference between Static and Dynamic destination queues?
Ans: Static EMS queues are created using EMS Administrator or by configuring directly in the configuration file (queues.conf) and are permanent and can be used at enterprise level. Static queues have a permanent TTL (Time To Live) and they exist till the time they are deleted manually.
On the other hand, dynamic queues are short lived queues which are created when needed and get expired once they are not in use. Dynamic queues remain alive until at least one client is associated with them.
Q4: Which command is used to delete all the messages from a queue or topic?
Ans: Purge command is used to delete all the pending messages from a queue. For example, if you want to purge a queue named ‘queue.ajmal’; you can run following command in TIBCO EMS Administrator:
purge queue queue.ajmal
Q5: What is the difference between Queues and Topics?
Ans: The difference between TIBCO EMS Queues and Topics is that Queues are based on point to point communication model with only one consumer for each queue while EMS Topics are based on Publish/Subscribe model where messages are multicast to more than one consumers from a topic.
Q6: What are TIBCO EMS bridges and why bridges are used?
Ans: Bridges are used to connect multiple destinations (queues or topics) so that same message can be sent to multiple destinations. When a bridge exists between two queues, the message is delivered to both queues.
Q7: Which configuration file is used for creating and configuring bridges in EMS?
Ans: bridges between destinations are configured in a configuration file named as bridges.conf
Q8: Which configuration file has EMS Server configurations stored?
Ans: All EMS Server properties are configured in the file tibemsd.conf
Q9: What is the difference between JMS Queue Receiver and JMS Queue Requestor Activity?
Ans: JMS Queue Receiver is a process starter activity that starts a process whenever a new message is available in a queue while JMS Queue Requestor is a non-starter (normal) activity which is used to request for a message to a queue and gets back a response.
Q10: Can we use Multicast on queues?
Ans: No, multicast can be used only for topics. Queues are point to point and can’t be used for multicast.
Watch Below Video on TutorialsPedia YouTube Channel with advanced interview questions on TIBCO BW and TIBCO EMS. Don’t forget to subscribe to the channel in order to get more videos like this in future.
You can refer to my another post covering TIBCO Administrator Interview Questions and Answers.
Thank you Abbas for publishing this. I am sure its going to be helpful for me for my upcoming interview.
I would appreciate if you can help me with some more.
Thanks for your Valuable stuff. Kindly share more details to educate in TIBCO.
Thanks Abbas providing valuable suggestions, can u please briefly go with the Tibco BW EMS in banking domain
Thanks for the Post.
I have two questions regarding EMS
–> What are the process contyrol parameter we can set in EMS and where we can set these?
–> If we have a bridge between Q1 to Q2 , and we also have listener to Q1 as well, will both Q1 consumer as well as Q2 will get message or not?
Please help me
Hi Gaurav,
What sort of control parameters are you talking about.
And regarding your second question , yes both Q1 and Q2 will get the message.
Yes. Q1 as well as Q2 will receive message. That’s the whole idea of bridges.
Hi, Abbas
Above given Questions and answers is very helpful for the interviews , we need few more Questions and answers
so I kindly request u ,Please send to this sit
Thank You &Regarding
RameshNayak
,
Hi,
i got good stuff from your side.plz send real time scenarios and case studies.plz send ur email id for further queries for contacting.
Hi ,
Can you please answer the below Queries ?
1) When used Persistent mode, where are you Persisting the data?
2) If you are posting a message on a queue & Server is down.What happens.
3) If secondary server finds out that the Primary is down and comes up.Where does it gets the messages from.
4) If Sender has sent the message on a queue.If the JMS Primary Server went down and secondary Server get the message which is lost.Where is the message now?
5) If there are Senders who are sending messages on a queue.And these messages are not yet received by the consumers.They are still lying in the server.But before the consumers could receive the message the server went down.Since they are persistent msgs, they are saved.But when secondary comes up how will the secondary server will get the message because it’s a diff machine.How will it get the messages which are with the Primary server?
1) When used Persistent mode, where are you Persisting the data?
>> It depends on what store you have configured for the destination and what is the mode sync/async. There are three store : File, mstore and db.
By default, file and async is used, So when message received by EMS server, it get stored in file and send the ack back to sender so that sender can send next message.
2) If you are posting a message on a queue & Server is down.What happens.
>> After failover, when EMS starts, it will read and scan the stores. So if there are pending messages in store, those messages will be available for the consumer.
3) If secondary server finds out that the Primary is down and comes up.Where does it gets the messages from.
>> Same store ( While configuring the secondary server make sure to have access to shared states)
4) If Sender has sent the message on a queue.If the JMS Primary Server went down and secondary Server get the message which is lost.Where is the message now?
>> When Sender send the message, EMS server will store the message into the store based on mode i.e. either sync or async and if delivery mode is persistent.
If primary EMS server stored the message in stores before goes down then the same message will be read by secondary EMS server. But if the message was unable to store before primary EMS server failure then that message is no more with EMS and can not be recovered.
5) If there are Senders who are sending messages on a queue.And these messages are not yet received by the consumers.They are still lying in the server.But before the consumers could receive the message the server went down.Since they are persistent msgs, they are saved.But when secondary comes up how will the secondary server will get the message because it’s a diff machine.How will it get the messages which are with the Primary server?
>> Refere point no 3
Excellent answers which is really helpful.
Creating a queue with the tibemsadmin tool fails with the error: “Not authorized to execute command”
i just created a user and not able to create queues/topics
how to create the durable topic in ems sever, what is command to create topic as durable.
please kindly let me know how to create it.
hi Aneel, We create durable subscription on topic, which is bound to receive message even if it was not up at the time of delivery of the message.
create durable
Hi Paul,
Make sure you have give proper rights to the user created, then create the queue/topic
Hi
Can we open a queue in exclusive mode in TIBCO EMS?
Hi Ajmal,
Please can you tell me how more than one consumer received message and more than one producer can receive messages