2017-04-05 6 views
0

나는 다음과 같은 구성이 있습니다리스너 내에서 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 
    } 
} 

내 청취자 내에서 DefaultMessageListenerContainermyListenerContainerId을 얻을 수있는 방법이 있나요을 ?

내 요구 사항을 명확히하기 위해 myListenerId이 실행 중인지 여부에 상관없이 리스너 onMessage이 트리거됩니다. myListenerContainerId에서만 트리거되는지 확인해야합니다.

답변

0

아니오; 그러나 new RuntimeException().printStackTrace()을 추가하면 어디에서 호출되었는지 확인할 수 있습니다.

또는 스레드 이름 (기본적으로 DefaultMessageListenerContainer이 있음)을 검사 할 수 있습니다.

+0

대단히 감사합니다 :) – Radhwen