0

このトピックに関する質問は2日前に投稿しましたが、もっと複雑な質問でした。さて、もっと簡単に言えば:

SpringJMSリスナーでブローカーに接続するために使用されるユーザー名を取得する方法はありますか?MessageListenerとSessionAwareMessageListenerのみが見つかりましたが、SessionインスタンスとMessageインスタンスのどちらからもこの情報(または接続インスタンス)を取得できません。

明らかな何かが欠けていますか?

ActiveMQ組み込みブローカーを使用しています。

4

2 に答える 2

2

OK、明白な答えは、接続リスナーがオンになっているのはクライアントがオンになっているのと同じ接続ではないということでした...したがって、接続ハンドルを取得するポイントはありません...

愚かな私...

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 に答える