<bean id="connectionFactory" class="org.hornetq.jms.client.HornetQJMSConnectionFactory">
<constructor-arg index="0">
<value>false</value>
</constructor-arg>
<constructor-arg index="1">
<array>
<ref bean="transportConfiguration"/>
</array>
</constructor-arg>
</bean>
<bean id="transportConfiguration" class="org.hornetq.api.core.TransportConfiguration">
<constructor-arg index="0">
<value>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</value>
</constructor-arg>
<constructor-arg index="1">
<map key-type="java.lang.String" value-type="java.lang.Object">
<entry key="host" value="127.0.0.1"></entry>
<entry key="port" value="5445"></entry>
</map>
</constructor-arg>
<constructor-arg index="2">
<value>NettyConnectorFactory</value>
</constructor-arg>
</bean>
<!-- JMS Topic -->
<bean id="chatTopic" class="org.hornetq.jms.client.HornetQTopic">
<constructor-arg value="myTopic"/>
</bean>
<bean id="chatQueue" class="org.hornetq.jms.client.HornetQQueue">
<constructor-arg value="myQueue"/>
</bean>
整体上的配置就是上面的内容。需要说明的是:NettyConnectorFactory,这个类主要是用来远程连接的,InVMConnectorFactory也可以实现,不过,它需要部署在同一个JVM内,我没有配置成功。
如果需要有用户名跟密码的话,使用
<bean id="userCredentialsConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="username" value=""/>
<property name="password" value=""/>
<property name="targetConnectionFactory" value="connectionFactory" />
</bean>
就可以了。这个是spring在创建session的时候,强制使用带用户名密码的方法来创建session。
其它的,就是一般的用法了,JMSTemplate。