Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在EJB3中重试失败_Java_Jakarta Ee_Ejb 3.1 - Fatal编程技术网

Java 在EJB3中重试失败

Java 在EJB3中重试失败,java,jakarta-ee,ejb-3.1,Java,Jakarta Ee,Ejb 3.1,我们最近已经将EJB2应用程序迁移到EJB3。在EJB2中,如果onMessage容器中出现一些故障,则可以在配置的次数上重试消息,但是在EJB3中没有这样的选项。有人可以在这方面提供帮助吗 我们能在onMessage中显式休眠线程并显式重试吗 提前谢谢 如果您使用的是@TransactionManagement(值= TransactionManagementType.CONTAINER)是容器管理的 然后,在异常情况下,消息将失效10次 将消息发送到DLQ之前 如果您没有使用Activemq

我们最近已经将EJB2应用程序迁移到EJB3。在EJB2中,如果onMessage容器中出现一些故障,则可以在配置的次数上重试消息,但是在EJB3中没有这样的选项。有人可以在这方面提供帮助吗

我们能在onMessage中显式休眠线程并显式重试吗

提前谢谢

  • 如果您使用的是
    @TransactionManagement(值=
    TransactionManagementType.CONTAINER)
    是容器管理的 然后,在异常情况下,消息将失效10次 将消息发送到DLQ之前
  • 如果您没有使用Activemq RA,那么可以使用以下两个文档 如果您有容器管理的事务,这对您很有用 及
  • 如果您使用的是ActiveMq资源适配器,则使用可以使用
    MaximumRedeliveries
  • 否则,如果只想在特定异常情况下重试,则可以 捕获异常,然后将消息发送回同一队列 还有这个额外的属性。另外,在消息头中设置重试次数 这样您就可以跟踪重试

  • 规范中第1项记录在哪里?是指向非JavaEE规范的第一个文档的链接。OP没有指出他们正在使用ActiveMQ的任何地方。好吧,每个消息传递实现的答案都不一样。