我已经在两天前就这个话题发了一个问题,但这个问题要复杂得多。现在,更简单地说:
有没有办法在Spring JMS监听器中获取用于连接代理的用户名?我只找到了MessageListener和SessionAwareMessageListener,但是我无法从Session和Message实例中获取此信息(或Connection instnace)。
我错过了一些明显的东西吗?
我正在使用ActiveMQ嵌入式代理。
答案 0 :(得分:2)
好的,显而易见的答案是,连接监听器打开与客户端打开的连接不一样...因此,没有获取连接句柄的点...
愚蠢的我......
PS:我要把它留在这里警告后代。答案 1 :(得分: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();
}