近日做课程设计,要用到消息驱动bean,因为我使用的JBOSS版本是6.1,按照网上配置<xxx-service.xml>文件时老是报错,花了我一晚上时间都没弄好,最后不得不在虚拟机下使用JBOSS5.0版本,马上就好了。后来再在JBOSS5下部署EJB会话bean和hibernate时又各种报错,提示类加载器没有连接到域,谷歌一下才知道这是JBOSS5自己的一个bug,没办法,还是只能回到JBOSS6了。但是消息驱动bean的问题没能解决啊,于是继续百度谷歌,终于让我找到一篇文章,才知道JBOSS6下是不需要<xxx-service.xml>文件的,只需要修改server\default\deploy\hornetq\hornetq-jms.xml文件(JBOSS使用默认配置),在里面添加如下代码:
<queue name="LoginQueue">
<entry name="/queue/LoginQueue"/>
</queue>
里面的name 和 entry name 根据实际情况修改,然后保存,这样JBOSS就能识别到该JMS消息队列。接下来,就部署消息发送端和接收端吧。
顺便贴上JBOSS5下的消息bean配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=MDBQueue">
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
</server>
最后附上我上面提到的那篇文章地址: