我有一个实现SessionAwareMessageListener的消息监听器(使用ActiveMQ)。当调用onMessage(Message,Session)方法时,我解析消息并将其处理传递给处理器,以及用于执行回滚/提交的会话。
我需要创建一条新消息,用于放置到外部队列。我可以使用现有会话来创建消息(我目前正在做),或者我实际上是否应该创建一个新会话来创建它?关于JMS会话的工作方式,我有点朦胧。
答案 0 :(得分:2)
会话共享一个连接,通常是一个TCP连接。不同的连接可以是不同的服务器,也可以使用不同的TCP连接。
会话是单线程的。这意味着您在会话中收到或发送的消息将按可预测的顺序排列。如果您在两个不同的会话上发送两条消息,它们可以按任何顺序到达。 (有时这是更可取的)
在最简单的用例中,您将与一个会话建立一个连接。