You are viewing an old version of this page. View the current version. Compare with Current · View Page History
This page is under construction.
- JMSPool is an advanced JMS instance that allow multiple threading messaging for incoming and outgoing messages. It is built on Java 5 concurrency library and also utilize the ActiveMQ Pooled Connection Factory.
- For simple JMS usage,
- a new connection and session are created on every JMS execution block. Resources are closed after usage.
- user has to manage threads and concurrency. Without special coding, messages are sent and received in a single connection and session.
- The currently JMSPool is fairly simple. It does not support features like transaction, connection recovery etc. If you need a full feature JMS Pooling product, you are highly recommended to use Spring JMS or Jencks.
- With JMSPool
- You could use a JMSPool intance with multiple threads for incoming and outgoing messaging
- The threads are managed by Java 5 ThreadExecutor
- Each thread uses a JMS instance
- JMSPool works differently in different scenarios
- For outgoing messages to Queue or Topic, it works like the following diagram
- Without the pool, multiple clients will have to send message in a serial manner. The JMSPool supports clients from multiple threads to send message asynchroniously. When there are more concurrent message than worker threads, the messages will be put on a an internal buffer.
- Worker threads are spawn to handle connection in parallel, each thread makes a connection to the JMS server.