【问题标题】:Getting username in Spring JMS listener在 Spring JMS 监听器中获取用户名
【发布时间】:2023-03-23 20:49:01
【问题描述】:

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

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

我是否遗漏了一些明显的东西?

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

【问题讨论】:

    标签: java spring jms activemq


    【解决方案1】:

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

    愚蠢的我......

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

    【讨论】:

    • boday: 喜欢,但 22 小时后可以,我的声望不够高... :-/
    • boday:不,您可以在回答 2 天后将您的答案标记为答案...不知道它是否依赖于代表,但这就是我在这里的工作方式。
    【解决方案2】:

    怎么样?

    @JmsListener(destination = "mytopic")
    public void processMessage(BytesMessage message) {
        ActiveMQBytesMessage msg = (ActiveMQBytesMessage) message;
        ActiveMQConnection conn = msg.getConnection();
        ConnectionInfo info = conn.getConnectionInfo();
        String username = info.getUserName();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 2017-01-23
      • 2014-01-24
      • 1970-01-01
      相关资源
      最近更新 更多