2

我正在使用JBoss AS 7.1.1.Final "Brontes"并在 -Bean 中遇到一个长时间运行的方法调用,该调用在@Stateless5 分钟后被取消:

[com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117:
                        TransactionReaper::check timeout

搜索这个问题我找到了一些答案Jboss 7.1 ejb 2.1 custom transaction timeout configuration和 wikis JBoss-AS7 reference guideJBoss Wiki

答案似乎很简单:用@TransactionTimeout But注释方法:这个类在我的类路径中不可用!我有一个具有 EAR 结构的 Maven 项目,并且该ejb模块具有以下相关依赖项,我在几个大量使用 EJB3 的项目中使用了这些依赖项:

  • org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec(假如)
  • javax.enterprise:cdi-api(假如)
  • org.hibernate.javax.persistence:hibernate-jpa-2.0-api(假如)
  • org.hibernate:hibernate-validator(假如)

缺少哪个依赖项?

4

2 回答 2

10

试试这个;花了一些非常认真的搜索来挖掘它,但它似乎应该可以工作:

<dependency>
    <groupId>org.jboss.ejb3</groupId>
    <artifactId>jboss-ejb3-ext-api</artifactId>
    <version>2.0.0</version>
    <scope>provided</scope>
</dependency>

GitHub:

我认为 Petr 发现的那个是较旧的(最初用于 JBoss 4.2.x);正如 Thor 提到的,它不包含 unit 参数,并且可能不适用于 AS7。

对更新JBAS7 EJB 参考指南的人的谦虚建议;也许可以包括 @TransactionTimeout 的 Maven 详细信息?

于 2013-03-15T21:52:58.887 回答
0

你试过了吗

jboss-annotations-ejb3

它应该与这个一起工作

于 2013-01-23T07:49:02.343 回答