Transports and Interfaces: Siebel Enterprise Application Integration > Java Message Service Transport >

About Operations of the JMS Transport


This section describes the operations (methods) of the JMS Transport.

JMS queues and topics are identified by their JNDI names. A JNDI naming service is required in order to use the JMS Transport. The JNDI naming service contains entries for the desired JMS Queues (implementers of javax.jms.Queue) and Topics (implementers of javax.jms.Topic) as well as the necessary JMS ConnectionFactories (implementers of either javax.jms.QueueFactory or javax.jms.Topic).

All methods that receive messages automatically time out if no message is available. The timeout length is three seconds by default and can be specified by the ReceiveTimeout argument. A value of zero for this argument disables the timeout, causing the method to wait indefinitely for a message to arrive. Whether a call to Receive or Subscribe timed out is provided as the TimedOut property of the output property set.

Subscriptions to JMS topics are always durable subscriptions.

The term dispatch is used to refer to the operation of calling a business service or workflow, passing as input, the content of a newly received message.

The arguments to these methods and their exact semantics (along with valid values, default values, and so on) are described in the section Detailed Input and Output Specifications. All methods require the JNDI name of JMS ConnectionFactory and the JNDI name of Queue or Topic.

The following is a summary of supported operations for use with the JMS Transport:

  • Receive. Receive a message from a JMS queue.
  • ReceiveDispatch. Receive a message from a JMS queue, then dispatch.
  • ReceiveDispatchSend. Receive a message from a JMS queue, dispatch, and then send the result to a (possibly different) JMS queue.

    The reply is sent to the SendQueue specified in the input to this method. (The JMSReplyTo header of the received message is ignored.)

  • Send. Send a message to a JMS queue.
  • SendReceive. Send a message to a JMS queue then receive a message from a (possibly different) JMS queue.

    The JMSCorrelationID header of the reply message must be equal to the JMSCorrelationID of the message sent, unless it is null (if none was provided as an input to SendReceive), in which case it must be the JMSMessageID of the message sent.

  • Subscribe. Receive a message from a JMS topic. The subscriber identifier must be supplied as an input to this method.
  • SubscribeDispatch. Receive a message from a JMS topic, then dispatch. The subscriber identifier must be supplied as an input to this method.
  • Publish. Publish a message to a JMS topic.
Transports and Interfaces: Siebel Enterprise Application Integration