Cargo : Adding a JMS resource to Resin3x
This page last changed on Oct 10, 2010 by alitokmen.
This example will create a Topic Connection Factory and a Topic, and also includes a spring configuration example. Add the following to your cargo configuration in pom.xml: <cargo.resource.resource.jmsConnectionFactory> cargo.resource.name=jms/ConnectionFactory| cargo.resource.type=com.caucho.jms.JVMTopicConnectionFactory| </cargo.resource.resource.jmsConnectionFactory> <cargo.resource.resource.jmsMyTopic> cargo.resource.name=jms/myTopic| cargo.resource.type=javax.jms.Topic| cargo.resource.class=com.caucho.jms.memory.MemoryTopic| cargo.resource.parameters=topicName=myTopic </cargo.resource.resource.jmsMyTopic> After you run 'mvn cargo:start', you can verify the config made it into your resin.conf with: .... <resource> <jndi-name>jms/ConnectionFactory</jndi-name> <type>com.caucho.jms.ConnectionFactoryImpl</type> </resource> <resource> <jndi-name>jms/myTopic</jndi-name> <type>com.caucho.jms.memory.MemoryTopic</type> <init topicName="myTopic"/> </resource> In web.xml: <resource-ref> <res-ref-name>jms/ConnectionFactory</res-ref-name> <res-type>javax.jms.ConnectionFactory</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> You can also add a resource-ref for the Topic, but that is not necessarily required. A spring config might look like this: <jee:jndi-lookup id="jmsConnectionFactory" jndi-name="jms/ConnectionFactory" proxy-interface="javax.jms.ConnectionFactory" lookup-on-startup="false" resource-ref="true"/> <bean id="myTopicListener" class="foo.bar.MyTopicListenerBean"/> <jms:listener-container connection-factory="jmsConnectionFactory" destination-type="topic"> <jms:listener destination="myTopic" ref="myTopicListener" method="receiveMessage" /> </jms:listener-container> |
![]() |
Document generated by Confluence on Nov 03, 2010 20:45 |