如果您更换,它应该可以工作
<bean name="hornetConnectionFactory" > <constructor-arg name="ha" value="false"></constructor-arg> <constructor-arg> <bean name="transportConfiguration" > <constructor-arg value="org.hornetq.core.remoting.impl.netty.NettyConnectorFactory" /> <constructor-arg> <map key-type="java.lang.String" value-type="java.lang.Object"> <entry key="host" value="127.0.0.1" /> <entry key="port" value="5445" /> </map> </constructor-arg> </bean> </constructor-arg></bean><!-- ConnectionFactory Definition --><bean id="connectionFactory" > <constructor-arg ref="hornetConnectionFactory"/></bean><!-- Definition of the JMS queue --><bean id="defaultDestination" > <constructor-arg index="0" value="DemoQueue"></constructor-arg></bean>
与
<jee:jndi-lookup id="connectionFactory" jndi-name="java:/JmsXA"/><jee:jndi-lookup id="defaultDestination" jndi-name="java:/queue/DemoQueue"/>
这样做,您也不应该在pom中也不需要hornetq依赖项,因为使用JNDI查找做到这一点与实现无关(这是一件好事)。您参考的说明是关于连接到 独立的
hornetq服务器的,在这种情况下,您将需要实现。但是,连接到嵌入式应该不需要它们。
当然,假设您的spring应用程序已部署在具有嵌入式HornetQ的JBoss中。
更新:好的,所以您添加的内容是实际上是从Tomcat连接到JBoss实例。在那种情况下,我只会看到两件事是错误的:
<hornetq.version>2.2.18.Final</hornetq.version>
这是错误的,因为它与JBoss 7.1.1随附的版本不匹配,并说明了拓扑错误。它应该是:
<hornetq.version>2.2.13.Final</hornetq.version>
同样,在解决此问题后,您会得到一个安全错误,因为您没有禁用安全性,但是也没有向JMS连接提供任何用户凭据。尝试将其添加到您的JBoss
HornetQ配置中:
<subsystem xmlns="urn:jboss:domain:messaging:1.1"> <hornetq-server> <security-enabled>false</security-enabled> <!-- <- this part -->
禁用安全性(如果您不想使用它)。
我还测试了这一点,这包含在GitHub上的示例代码。
Update2:为了能够使用JMS Security,请替换为
<!-- ConnectionFactory Definition --><bean id="connectionFactory" > <constructor-arg ref="hornetConnectionFactory"/></bean>
有了这个
<!-- ConnectionFactory Definitions --><bean id="userCredsConnectionFactory" > <property name="targetConnectionFactory"><ref bean="hornetConnectionFactory"/></property> <property name="username"><value>jmsuser</value></property> <property name="password"><value>hornetq</value></property> <!-- use credentials of some user you have added in 'jmsrole' group as application user in jboss in the above config --></bean><bean id="connectionFactory" > <constructor-arg ref="userCredsConnectionFactory"/></bean>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)