一直接触jboss的Web服务器,因为工作中会用到,尤其是总和Jms打交道,但是我只管部署JMS应用并启动它,保证开发人员能使用就OK了。
一、基础知识
JMS提供了两种消息通信模型:
点到点(P2P)
发布/订阅(Pub/Sub)
点到点也就是Queue(队列) 发布订阅也就是Topic(广播)
其余的基本知识我相信开发人员应该比我知道的多,也就不用说了,网上一搜一大把。
二、jboss-eap-4.3部署Jms应用 (linux系统部署)
1、/jboss/jboss-eap-4.3.GA_CP07/server/default 复制一份jboss的default目录并且重启个名字,根据你的应用名字随便起一个
cp /jboss/jboss-eap-4.3.GA_CP07/server/default /jboss/jboss-eap-4.3.GA_CP07/server/webjms
2、修改配置文件destinations-service_xml
cd /jboss/jboss-eap-4.3.GA_CP07/server/webjms/deploy/jboss-messaging.sar/
修改destinations-service_xml配置文件,此处例子我的jms配置了一个Queue(队列),队列名字叫:my_queue ;还有一个Topic(广播),广播名字叫:my_topic,在配置文件增加如下两段内容:
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.messaging.destination:service=Queue,name=my_queue"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<attribute name="Clustered">true</attribute>
</mbean>
<mbean code="org.jboss.jms.server.destination.TopicService"
name="jboss.messaging.destination:service=Topic,name=my_topic"
xmbean-dd="xmdesc/Topic-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<attribute name="Clustered">true</attribute>
</mbean>
3、修改数据源文件postgresql-ds.xml,并在postgres数据库配置用户和密码(我这里用的是postgres数据库)
cd /home/jboss/jboss-eap-4.3_CP10/jboss-as/server/webjms/deploy
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>DefaultDS</jndi-name>
<connection-url>jdbc:postgresql://10.1.8.8:5432/jmsdb</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>jms_test</user-name>
<password>jms_test</password>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<min-pool-size>15</min-pool-size>
<max-pool-size>50</max-pool-size>
<metadata>
<type-mapping>PostgreSQL 8.0</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
4、在postgres数据库创建表、用户、密码,表名字自己起,用户和密码自己来设置
5、启动服务,测试联通性。我这里是自己弄了个小程序,自己发到服务器,然后自己收,内容一致,证明配置的jms无问题。