日期:2014-05-16 浏览次数:20627 次
本示例使用的ActiveMQ作为消息中间件,服务器为Glassfish,使用JMS发送消息,在MDB接收到消息之后做打印输出。
1、安装console
war包安装到服务器不需要特殊配置,默认监听端口为61616,可通过修改activemq.xml修改默认端口,测试使用的console版本为activemq-web-console-5.5.1,当然console可以是与客户端不同的服务器,而且我们也一般都这样使用。
2、安装ActiveMq应用端
安装rar包,如果你下载的rar包中缺少slf4j-log4j12的jar包请手工加入,与安装普通的app一样,不需要特殊配置,我采用的为activemq-rar-5.5.0.rar,不同版本对服务器可能会存在兼容性问题。
3、配置服务器
依次配置如下内容:
资源适配器(Resource Adapter Config) 资源:activemq-rar-5.5.0; 线程池ID:thread-pool-1 serverurl:tcp://localhost:61616 [如果console在其他机器,请配置对应机器的IP] 连接器连接池(Connector Connection Pools) 连接池名字:jms/ConnectionFactory 资源适配器名:activemq-rar-5.5.0 连接定义:javax.jms.ConnectionFactory 连接器资源(Connector Resources) JNDI名字:jms/ConnectionFactory 连接池名:jms/ConnectionFactory 受管对象资源(Admin Object Resources) JNDI名:jms/JMSINBOX 资源适配器名:activemq-rar-5.5.0 资源类型:javax.jms.Queue PhysicalName:jmsQueue
1、maven配置
<dependency> <groupId>org.glassfish</groupId> <artifactId>javax.ejb</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.glassfish</groupId> <artifactId>javax.jms</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"> <display-name>Ejb1</display-name> <enterprise-beans> <message-driven> <display-name>MyMDB</display-name> <ejb-name>MyMDB</ejb-name> <ejb-class>com.wcs.TestMDB.mdb.MyMDB</ejb-class> <messaging-type>javax.jms.MessageListener</messaging-type> <transaction-type>Container</transaction-type> <activation-config> <activation-config-property> <activation-config-property-name>DestinationType</activation-config-property-name> <activation-config-property-value>javax.jms.Queue</activation-config-property-value> </activation-config-property> <activation-config-property> <activation-config-property-name>Destination</activation-config-property-name> <activation-config-property-value>jmsQueue</activation-config-property-value> </activation-config-property> </activation-config> </message-driven> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>MyMDB</ejb-name> <method-name>onMessage</method-name> <method-params> <method-param>java.lang.String</method-param> </method-params> </method> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE glassfish-ejb-jar PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 EJB 3.1//EN" "http://glassfish.org