如何创建activemq的MDB

1.在jboss的standalone.xml中加入activemq的资源适配器

        <subsystem xmlns="urn:jboss:domain:resource-adapters:1.0">
            <resource-adapters>
                <resource-adapter>
                    <archive>
                        activemq-rar-5.7.0.rar
                    </archive>
                    <transaction-support>LocalTransaction</transaction-support>
                    <config-property name="ServerUrl">
                        tcp://192.168.1.116:61616
                    </config-property>
                    <connection-definitions>
                        <connection-definition class-name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory" jndi-name="java:/ufisas/jmsf/queue/fromCedaAmqFactory" enabled="true" use-java-context="true" pool-name="ufis_amq_Pool" use-ccm="true"/>
                    </connection-definitions>
                    <admin-objects>
                        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue" jndi-name="java:/ufisas/jms/queue/ToCedaAmq" enabled="true" use-java-context="true">
                            <config-property name="PhysicalName">
                                JCEDA_TO_CEDA
                            </config-property>
                        </admin-object>
                        <admin-object class-name="org.apache.activemq.command.ActiveMQQueue" jndi-name="java:/ufisas/jms/queue/FromCedaAmq" enabled="true" use-java-context="true">
                            <config-property name="PhysicalName">
                                CEDA_TO_JCEDA
                            </config-property>
                        </admin-object>
                    </admin-objects>
                </resource-adapter>
            </resource-adapters>
        </subsystem>

2.编写MDB

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class BlBridgeMessageBean implements MessageListener {

	private static final Logger LOG = LoggerFactory.getLogger(BlBridgeMessageBean .class);

	public BlBridgeMessageBean () {
	}

	@Override
	public void onMessage(Message inMessage) {
		TextMessage msg;

		try {
			if (inMessage instanceof TextMessage) {
				msg = (TextMessage) inMessage;
				System.out.println("MESSAGE BEAN: Message received: " + msg.getText());
				// _commandHandler.handleEvent(msg.getText());
			} else {
				LOG.warn("Message of wrong type: " + inMessage.getClass().getName());

			}
		} catch (JMSException e) {
			LOG.error("JMSException " + e.getMessage());
		} catch (Throwable te) {
			LOG.error("JMSException  Throwable " + te.getMessage());

		}

	}

}

3.将MDB配置到jboss-ejb3.xml中

<?xml version="1.1" encoding="UTF-8"?>
<jboss:ejb-jar xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
	xmlns:p="urn:ejb-pool:1.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-ejb3-2_0.xsd http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
	version="3.1" impl-version="2.0">
	<enterprise-beans>
		<message-driven>
			<ejb-name>BlUfisBridgeMessageBean</ejb-name>
			<ejb-class>com.ufis_as.ufisapp.server.mdb.BlUfisBridgeMessageBean</ejb-class>
			<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>
                                        <!-- activemq不支持jndi方式配置队列名 -->
                                        <activation-config-property-value>CEDA_TO_JCEDA</activation-config-property-value>
				</activation-config-property>
			</activation-config>
		</message-driven>
	</enterprise-beans>

	<interceptors>
		<interceptor>
			<interceptor-class>com.ufis_as.ufisapp.server.interception.HpTracingInterceptor</interceptor-class>
		</interceptor>
	</interceptors>


	<assembly-descriptor>

		<interceptor-binding>
			<ejb-name>*</ejb-name>
			<interceptor-class>com.ufis_as.ufisapp.server.interception.HpTracingInterceptor</interceptor-class>
		</interceptor-binding>
	</assembly-descriptor>
</jboss:ejb-jar>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值