4.7.2. 使用部署描述符配置 MDB


ejb -jar.xml 中的 <message-driven > 元素 将 bean 定义为 MDB。<activation-config> 和元素包含通过 activation-config-property 元素的 MDB 配置。

ejb-jar.xml示例

<?xml version="1.1" encoding="UTF-8"?>
<jboss:ejb-jar xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
               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">
    <enterprise-beans>
        <message-driven>
            <ejb-name>MyMDBName</ejb-name>
            <ejb-class>org.jboss.tutorial.mdb_deployment_descriptor.bean.MyMDBName</ejb-class>
            <activation-config>
                <activation-config-property>
                    <activation-config-property-name>destinationLookup</activation-config-property-name>
                    <activation-config-property-value>queueA</activation-config-property-value>
                </activation-config-property>
                <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>acknowledgeMode</activation-config-property-name>
                    <activation-config-property-value>Auto-acknowledge</activation-config-property-value>
                </activation-config-property>
            </activation-config>
        </message-driven>
    <enterprise-beans>
</jboss:ejb-jar>
Copy to Clipboard Toggle word wrap

Expand
表 4.1. 根据 Jakarta 消息传递服务规范定义的激活配置属性
名称描述

destinationLookup

队列或主题的 Java 命名和目录接口名称。这是一个强制值。

connectionFactoryLookup

管理员定义的 javax.jms.ConnectionFactoryjavax.jms.QueueConnectionFactoryjavax.jms.TopicConnectionFactory 对象,用于连接到端点将从其接收消息的 Jakarta 消息提供商。

如果未明确定义,则使用名称为 activemq-ra 的池连接工厂。

destinationType

目标有效值的类型为 javax.jms.Queue 或 javax.jms.Topic。这是一个强制值。

messageSelector

messageSelector 属性的值是一个字符串,用于选择可用消息的子集。其语法基于 SQL 92 条件表达式语法的一个子集,在 Jakarta Messaging 规范中进行了详细介绍。在 ActivationSpec JavaBean 上为 messageSelector 属性指定一个值是可选的。

acknowledgeMode

不使用转换的 Jakarta Messaging 时进行确认的类型。有效值为 Auto-acknowledge 或 Dups-ok-acknowledge。这不是强制值。

默认值为 Auto-acknowledge

clientID

连接的客户端 ID。这不是强制值。

subscriptionDurability

主题订阅是否持久.有效值为 DurableNonDurable。这不是强制值。

默认值为 NonDurable

subscriptionName

主题订阅的订阅名称。这不是强制值。

Expand
表 4.2. JBoss EAP 定义的激活配置属性
名称描述

destination

将此属性与 useJNDI=true 一起使用与 destinationLookup 的含义相同。将其与 useJNDI=false 一起使用时,不会查找目的地,而是实例化。您可以使用此属性而不是 destinationLookup。这不是强制值。

shareSubscriptions

连接是否已配置为共享订阅。

默认值为 False

user

Jakarta 消息传递连接的用户。这不是强制值。

password

Jakarta Messaging 连接的密码。这不是强制值。

maxSession

要使用的最大并发会话数。这不是强制值。

默认值为 15

transactionTimeout

会话的事务超时,以毫秒为单位。这不是强制值。

如果没有指定或 0,则忽略该属性,并且不会覆盖 transactionTimeout,并使用 Transaction Manager 中定义的默认 transaction Timeout

useJNDI

是否使用 Java 命名和目录接口来查找目的地。

默认值为 True

jndiParams

要在连接中使用的 Java 命名和目录接口参数。参数定义为 name=value 对,用; 分隔

localTx

使用本地事务而不是 XA。

默认值为 False

setupAttempts

设置雅加达消息传递连接的尝试次数。有可能在 Jakarta Messaging 资源可用之前部署 MDB。在这种情况下,资源适配器将尝试设置几次,直到资源可用为止。这只适用于入站连接。

默认值为 -1

setupInterval

设置 Jakarta 消息传递连接的连续尝试间隔,以毫秒为单位。这只适用于入站连接。

默认值为 2000

rebalanceConnections

是否启用入站连接重新平衡。此参数允许在底层集群拓扑更改时重新平衡所有入站连接。

出站连接没有重新平衡。

默认值为 False

deserializationWhiteList

白名单以逗号分隔的条目列表,这是受信任的类和软件包列表。此属性供 Jakarta 消息传递资源适配器用于允许取消序列列表中的对象。

如需更多信息,请参阅为 JBoss EAP 配置消息传递中 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuring_messaging/#controlling_jms_objectmessage_deserialization 控制 JMS ObjectMessage Deserialization

deserializationBlackList

黑名单以逗号分隔的条目列表,这是不受信任的类和软件包列表。此属性供 Jakarta 消息传递资源适配器使用,以防止列表中的对象被非序列化。

如需更多信息,请参阅为 JBoss EAP 配置消息传递中 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuring_messaging/#controlling_jms_objectmessage_deserialization 控制 JMS ObjectMessage Deserialization

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat