나는 Spring 4.1을 기반으로하는 애플리케이션을 가지고있다. XML 구성을 사용하여 JMS Listener를 만들고 들어오는 XML 메시지를 Java Object로 변환하려고합니다. 내가 대상 큐에 메시지를 게시 할 때 리스너의 방법 processMessage()
가 호출 나는 점점되지, 지금Spring JMS를 사용할 때 리스너 메소드가 호출되지 않는다.
public class CustomMessageListener{
public void processMessage(Message message, CustomObject object){
//Do Something.
}
:
<jms:listener-container concurrency="10"
connection-factory="connectionFactory"
message-converter="marshallingMessageConverter">
<jms:listener destination="destination.name" ref="messageListener" method="processMessage"/>
</jms:listener-container>
<bean id="messageListener" class="com.example.CustomMessageListener">
</bean>
<bean id="marshallingMessageConverter" class="org.springframework.jms.support.converter.MarshallingMessageConverter">
<property name="marshaller" ref="xmlMarshaller"/>
<property name="unmarshaller" ref="xmlMarshaller"/>
</bean>
<bean id="xmlMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound" value="com.example.CustomObject"/>
</bean>
더 클래스 com.example.CustomMessageListener
은 다음과 같습니다 : 다음은 내 XML 구성입니다 난 그냥 CustomObjec을 수용 할 수있는 Listerner 방법의 주장을 변경하는 경우 지금
Failed to invoke target method 'processMessage' with arguments {[email protected]};
nested exception is java.lang.NoSuchMethodException:
com.example.CustomMessageListener.processMessage(com.example.CustomObject).
: 봄 로그에 다음 오류가 발생하고 t, 그것은 작동 내가 제대로 XML에서 구축 된 CustomObject 수 :
public void processMessage(CustomObject, object)
그러나 나는 또한 원래 javax.jms.Message
인스턴스와 this 설명서에 따라 필요는 매개 변수를 지정하여 해당 인스턴스를받을 수 있어야한다을 명부.
누군가 나를 도와주세요.
네, 가능 작동합니다 이것을 시도하지만 당신은 청취자 청취자 아닌 XML 정의 버전의 주석 버전에있는 문서를 보면. –