Question: What is difference between JMS, AQ and MQ ?.
Answer: JMS is Java Message Queue which is open source, AQ is advanced queue which is Oracle standard and MQ is message queue which is IBM standard.
Question: Why JMS, AQ and MQ adapters are used?.
Answer: JMS adapter is used to read/write data from/to JMS queue/topic. AQ adapter is used to deal with AQ and same way MQ adapter is used to interact with MQ.
Question: These adapters comes under transactional or non-transactional category ?.
Answer: These adapters come under transactional adapters category as these supports transactions.
Question: What is difference between JMS queue and topic ?.
Answer: JMS queue is used when we have one to one interaction, consumer put the message to JMS queue but only listener can pick the data from that queue as once that listener pick the data , data get deleted from the queue.
JMS topic is based on publish subscribe model, here multiple listeners/consumer can consume the same message. JMS topic is used when we need to transfer same data to multiple places.
Question: What all operations we can perform with JMS adapter?.
Answer: We can perform following operations with JMS adapter.
3. Sync Read & Write
Question: What is message selector property ?.
Answer: When we read the data from JMS queue/topic based upon some condition then this property is used. e.g. We use same queue to store different types of message so in one flow we need to pick only Sales Order information so in sales order composite we use message selector property to pick only that record.
Question: Can we add custom header properties to JMS header while sending message to JMS queue/topic?.
Answer: Yes, we can do that.
Question: Can we read custom header properties ?.
Answer: Yes, we can read custom header properties from JMS queue/topic by specifying the property name that we want to read.
Question: What is Connection Factory ?.
Answer: A connection factory is an object that a JMS client uses to create a connection with a JMS provider. We use connection factory in SOA suite tool to connect to server where JMS queue/topic created.
Question: Do we always needs to create connection factory ?.
Answer: No, you need to create only when you need to specify custom properties otherwise you can use default connection factories.
Question: What is persistent store ?.
Answer: The persistent store provides a built-in, high-performance storage solution for WebLogic Server subsystems and services that require persistence. For example, it can store persistent JMS messages or temporarily store messages sent using the Store-and-Forward feature. The persistent store supports persistence to a file-based store or to a JDBC-enabled database.
Question: How we can do retry once message roll back to JMS queue ?.
Answer: We have “Deliver Failure” tab in JMS queue where we can set properties to do retry after certain intervals.
Question: What parameters we need to set in Delivery Failure tab ?.
Answer: We need to set following parameters.
Redelivery Delay Override : Time interval between retries. It is in milliseconds.
Redelivery Limit: number of retries
Redirect : redirect message to different queue.
Log : log the message.
Discard : discard message and it will be lost.
Error Destination: If you choose “Redirect” then choose the queue to which you want to redirect message.
Question: Which property we need to use to control number of message processed from MQ at one time?
Answer: we need to use InboundThreadCount property to control number of messages which MQ adapter pick from MQ.
Question: Which property we need to use with singleton property to process the message in sequential order for AQ.
Answer: We need to set activtionInstances=1 along with singleton property for AQ adapter in cluster environment to process message in sequential order.
Question: Can we set polling frequency for AQ and MQ adapters ?.
Answer: No, we can’t set polling frequencies for AQ and MQ adapters as both the adapters are event driven.
Question: Which property we have to use to process JMS, AQ or MQ messages on one node in cluster environment.
Answer: we use singleton property in composite.xml file.