2

JBoss AS 7.1.1.Final "Brontes"を使用していて@Stateless、5 分後にキャンセルされる -Bean で実行時間の長いメソッド呼び出しに遭遇しました:

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

この問題を検索すると、いくつかの回答Jboss 7.1 ejb 2.1 custom transaction timeout configuration and wikis JBoss-AS7 reference guideまたはJBoss Wikiが見つかりました。

答えは簡単なようです:メソッドに注釈を付けますが@TransactionTimeout :このクラスはクラスパスで利用できません! 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 が述べたように、ユニット パラメータが含まれておらず、AS7 では機能しない可能性があります。

JBAS7 EJB リファレンス ガイドを更新する人へのささやかな提案です。@TransactionTimeout の Maven の詳細を含めることができますか?

于 2013-03-15T21:52:58.887 に答える
0

試しましたか

jboss-annotations-ejb3

これで動作するはずです

于 2013-01-23T07:49:02.343 に答える