从侦听器中获取 DefaultMessageListenerContainer

getting the DefaultMessageListenerContainer from within the listener

我有以下配置:

<jms:listener-container container-type="default" connection-factory="cachedConnectionFactory" acknowledge="auto">
     <jms:listener id="myListenerContainerId" destination="myDestination" ref="myListener" method="onMessage" />
</jms:listener-container>

<bean id="myListenerId" class="X.Y.Z.myListener">
    // Some attributes
</bean>

以及以下监听器:

public class myListener implements MessageListener {

@Override
public void onMessage(Message message) {
    // Some work
    } 
}

有没有办法从我的侦听器中获取 DefaultMessageListenerContainer myListenerContainerId

为了阐明我的需求,无论 myListenerId 是否为 运行,是否处于活动状态,监听器 onMessage 都会被触发。我需要检查它是否仅从 myListenerContainerId.

触发

否;但是如果你添加 new RuntimeException().printStackTrace() 你可以看到它是从哪里调用的。

或者您可以检查线程名称(默认情况下其中包含 DefaultMessageListenerContainer)。