0

两天前我已经发布了一个关于这个主题的问题,但这是一个更复杂的问题。现在,更简单地说:

有没有办法在spring JMS监听器中获取用于连接代理的用户名?我只找到了 MessageListener 和 SessionAwareMessageListener,但我无法从 Session 和 Message 实例中获取此信息(或连接实例)。

我错过了一些明显的东西吗?

我正在使用 ActiveMQ 嵌入式代理。

4

2 回答 2

2

好的,显而易见的答案是,连接侦听器打开的连接与客户端打开的连接不同......因此,没有获取连接句柄的要点......

愚蠢的我...

PS:我把它留在这里是为了警告后代。

于 2013-02-11T22:01:14.553 回答
0

怎么样?

@JmsListener(destination = "mytopic")
public void processMessage(BytesMessage message) {
    ActiveMQBytesMessage msg = (ActiveMQBytesMessage) message;
    ActiveMQConnection conn = msg.getConnection();
    ConnectionInfo info = conn.getConnectionInfo();
    String username = info.getUserName();
}
于 2015-06-26T17:43:08.113 回答