问题标签 [jboss-mdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
949 浏览

jms - 有没有办法让 MDB 在 WildFly、FIFO 上处理消息队列?

在 WildFly 8.2(使用 JMS 提供程序 HornetQ)上创建一个 JMS 队列,并让该队列“激活”一个消息驱动 bean,我看到如果生产者快速连续向队列发送多条消息,消息驱动 bean不一定按照发送的顺序处理它们。可以配置 WildFly 以便按发送顺序(先进先出)处理消息吗?

0 投票
1 回答
349 浏览

maven - 无法使用 JBOSS 6.4.2 GA 部署连接到 RA 的 MDB

我在部署连接到 Tibco RV 资源适配器的 MDB 时遇到问题,但在正确部署 RA 时,MDB 引发了我多次尝试后仍无法解决的问题。

这就是我试图让我的 MDB 部署到资源适配器的原因。

  1. 我已经部署了我的 RA (tibco-adapter-ra2.rar):它是一个集成了 TIBCO RV 中间件的 RA。在附件中可以看到 tibco-adapter-ra2 maven 项目的 rar 文件)
  2. RA 在另一个 maven 项目中有它的逻辑,我将其命名为 tibco-adapter-jar(也附有项目)
  3. 还有第二个 maven jar 项目 (tibco-adapter-msg-listener),仅包含 MessageListener,它是 tibco-adapter-jar 项目的依赖项

到目前为止,没有问题。我可以部署 Tibco Adapter RA,而无需在standalone.xml 文件中进行任何进一步的配置。

问题(错误 1):我无法部署使用 tibco-adapter-ejb 制作的 tibco-adapter-ear(它包含连接到 Tibco Adapter RA 的 MDB,它们都已连接),原因如下错误:

MDB 使用 Annotation 来引用 Message Listener 接口:

原因:org.jboss.msc.service.ServiceNotFoundException:服务服务 jboss.ejb.default-resource-adapter-name-service 未找到(请参阅 Error1_Deployment_EAR_1.txt 以获得完整的堆栈跟踪)

我还standalone.xml使用以下配置编辑了:

此配置后的 ERROR 2 为:

原因:java.lang.IllegalStateException:JBAS014521:在资源适配器 tibco-adapter-ra2 中找不到类型为 com.ericsson.jee.sep.tibco.adapter.api.TibcoRvMessageListener 的消息侦听器(有关完整的堆栈跟踪,请参阅 Error2_Deployment_EAR_2.txt )。

TibcoRvMessageListener不是传统的 JMS 消息侦听器,而是 Tibco RV 消息侦听器。

我在过去看到过类似的问题,但一些建议已经被应用(见standalone.xml配置),但没有解决问题。

我真的需要一个支持,因为我无法找到前进的道路。

我在哪里做错了?

亲切的问候, Pierluigi

0 投票
1 回答
78 浏览

java - WAS 6 和 JBOSS EAP 6.1 之间的 JMS 通信

我在 Websphere 中部署了一个应用程序,它应该使用 HornetQ 在 JBoss 中实现的队列中推送消息。然后,该消息将由另一个应用程序(在 JBoss 上)中的 MDB 使用。这甚至可能吗?

总结:WAS(生产者)-> JBoss(消费者)

我认为是的,因为协议 JMS 是共享的,但细节是什么?我应该使用 MQ 库加载 JBoss,还是完全按照我从 WAS 引用 JBoss 队列的方式?太感谢了。

0 投票
1 回答
849 浏览

jboss - 通过 JBoss 中的 ejb-jar.xml 为 MDB 设置 maxsession

我想为 MDB 配置maxsession所以在 MDB 类上有一个下面的注解

片段

而且我已经在 ejb-jar.xml 中配置了 maxsession

AFAIK 优先级显示给 ejb-jar.xml 然后给注解。

但是当我通过 jmx-console 检查“ConsumerCount”时,它显示 26。这意味着它添加了两个值。如果我从 cclass 文件中删除 @ActivationConfigProperty(propertyName="maxSession",propertyValue="6") ,它会显示 35(即默认 15,然后从 ejb-jar.xml 中添加 20)

我的要求是,它应该只从 ejb-jar.xml 中选择值。注意:我不想从类中删除注释,因为在另一个 AS 上使用了相同的代码。

0 投票
0 回答
668 浏览

jms - Wildfly - 在一条消息中发生错误后,MDB 停止处理其他消息

为了简化问题,我配置了一个只有一个会话的 MDB。

队列配置了 3 次尝试和两次尝试之间的 2 分钟延迟。

使用队列中的 600 条消息执行此代码:

如果队列中仍有消息,为什么 MDB 会停止?当消息在回滚后返回队列时,它会进入顶部阻塞测试吗?这对我来说没有任何意义。我找不到任何描述此行为的文档。

根据规范:

其他后续消息会定期发送,只有取消的消息会在延迟后异步发送回队列。 https://activemq.apache.org/artemis/docs/2.0.0/undelivered-messages.html

0 投票
2 回答
122 浏览

ejb - 如何在java中使用MDB和activemq制作串行进程

我正在使用activemq处理ejb mdb,你能帮我吗,我从队列中读取消息并将数据保存到数据库中,我能够将数据保存到数据库中,但是mdb从队列中获取消息,一条消息是部分保存到数据库中,然后处理另一条消息。我想将消息一一保存到数据库中,任何人都可以帮助我

0 投票
0 回答
448 浏览

jboss-eap-7 - 在 jboss jboss-eap-7 中使用 oracle AQ 的 Mdb

我们正在将一些基于 ejb 的应用程序从 Oc4j 升级到 jboss eap 7,并且需要连接到在 oracle 数据库中创建的 oracle AQ,但无法部署 mdb。我一直在关注此链接 并使用通用 jms ra 但无法连接到队列。我的队列名称是 AD_AMP_QUEUE,我不知道我在 Oc4j 中使用的正确连接工厂 myQCF 是什么。

这是我的代码:

0 投票
1 回答
459 浏览

jdbc - MDB onMessage 失败并关闭 JDBC 连接

在 JBoss eap 7.0 上运行应用程序。我有一个 MDB,它还引用 XA 数据源(oracle)来持久化数据。在长时间没有使用(几个小时)之后,下一次写入 DB 的 onMessage 调用出现以下错误

我应该设置 validate-on-match = true,还是有更好的方法来确保池连接有效且处于活动状态?

更新:将配置更改为:

仍然出现错误。

0 投票
1 回答
348 浏览

java - MessageDrivenBean 不处理消息 [Wildfly]

我试图开发一个“消息驱动 Bean”来处理所有本地 ActiveMQ 消息,但这是我第一次尝试做这样的事情。

我找到的大部分材料都解释了如何使用 JBOSS 服务器编写 MDB,在这种情况下,有一个包含一些队列信息的 xml 文件,但在所有 Wildfly 教程中都没有提到任何类似的配置。

我有以下情况:

  1. 一个简单的java项目,比如消息生产者

  2. 本地运行的 ActiveMQ 实例

  3. 部署到 Wildfly 10 中的 EJB 项目

我的生产者项目能够将消息发送到 ActiveMQ 队列,这部分工作正常,但我的 EJB 项目只有一个名为 TestMDBHandle 的类,带有 @MessageDriven 注释。这足以接收我的队列消息吗?因为 MDB 不工作,我想必须是 EJB 中的一种配置或属性来指定消息代理的主机。

我的消息制作人:

我的 jms 属性位于我的生产者项目中

最后,我的 ejb 项目有这个单一的类,没有任何类型的属性文件或 xml。

0 投票
1 回答
807 浏览

jms - 在 Wildfly 10 中,MDB 查找属性是否可以在standalone-full.xml 中指定,而不是在编译时绑定在 Java 源代码中?

在 Wildfly 10 中,我想将 MDB 的一些注释移动到关联的资源适配器。

根据Connect a pooled-connection-factory to a Remote Artemis Server ,可以如下注释 MDB(从引用的页面复制到此处):

有没有办法将查找决定从编译时间推迟到调用时间?我想在我的standalone-full.xml 中指定属性“useJNDI”和“destination”的值

我尝试如下注释MDB:

然后在standalone-full.xml中配置“my-remote”如下:

但收到以下错误消息:

是否必须在编译时指定查找属性?
如果我需要一个 Wildfly 实例使用 jndi 查找另一个使用非 JNDI 名称,我真的需要创建两个只是注释略有不同的 MDB 吗?