What is the purpose of a JMS session?

后端 未结 2 1227
时光说笑
时光说笑 2021-02-03 23:42

What is the purpose of a JMS session? Why isn\'t a connection alone sufficient to exchange JMS messages between senders and receivers?

2条回答
  •  面向向阳花
    2021-02-04 00:36

    See java.sun.com

    A Session object is a single-threaded context for producing and consuming messages. Although it may allocate provider resources outside the Java virtual machine (JVM), it is considered a lightweight JMS object.

    A session serves several purposes:

    • It is a factory for its message producers and consumers.
    • It supplies provider-optimized message factories.
    • It supports a single series of transactions that combine work spanning its producers and consumers into atomic units.
    • It defines a serial order for the messages it consumes and the messages it produces.
    • It retains messages it consumes until they have been acknowledged.
    • It serializes execution of message listeners registered with its message consumers.

    A session can create and service multiple message producers and consumers.

    One typical use is to have a thread block on a synchronous MessageConsumer until a message arrives. The thread may then use one or more of the Session's MessageProducers.

提交回复
热议问题