Spring Web连接到嵌入Jboss服务器7.1.1的HornetQ JMS

Spring Web连接到嵌入Jboss服务器7.1.1的HornetQ JMS,第1张

Spring Web连接到嵌入Jboss服务器7.1.1的HornetQ JMS

如果您更换,它应该可以工作

<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>


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5676056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存