从侦听器中获取 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
)。
我有以下配置:
<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
)。