I am getting the following error when instantiating the Jms MessageListener from the applicationContext.xml:
Here is the code to instantiate the beans:
the pom.xml contains the jms dependencies - not sure what the conflict is?
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.4.3</version>
</dependency>
Thanks
Code:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jmsContainer' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'messageListener' threw exception; nested exception is java.lang.IllegalArgumentException: Message listener needs to be of type [javax.jms.MessageListener] or [org.springframework.jms.listener.SessionAwareMessageListener]
Here is the code to instantiate the beans:
Code:
<bean id="jmsMessageListener" class="com.JMSMessageSubscriber">\
</bean>
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="cachedConnectionFactory" />
<property name="destination" ref="myTopic" />
<property name="messageListener" ref="jmsMessageListener" />
<property name="sessionTransacted" value="true" />
<property name="subscriptionDurable" value="true"/>
</bean>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.4.3</version>
</dependency>
Thanks