2

我有一个实现 SessionAwareMessageListener 的消息侦听器(使用 ActiveMQ)。当调用 onMessage(Message,Session) 方法时,我解析消息并将其处理传递给处理器,以及用于执行回滚/提交的会话。

我需要创建一条新消息,用于放置到外部队列中。我可以使用现有的会话来创建消息(我目前正在这样做),还是我实际上应该创建一个新的会话来创建它?我对 JMS 会话的工作方式有点模糊。

4

1 回答 1

2

会话共享一个连接,通常是一个 TCP 连接。不同的连接可以到不同的服务器或使用不同的 TCP 连接。

会话是单线程的。这意味着您在会话中接收或发送的消息将按可预测的顺序排列。如果您在两个不同的会话上发送两条消息,它们可以按任何顺序到达。(有时这是更可取的)

在最简单的用例中,您将通过一个会话建立一个连接。

于 2012-06-20T08:30:53.887 回答