web-dev-qa-db-ja.com

Weblogic Transaction Timeout:WebLogic AS 8.1の管理コンソールで設定する方法

私は次の例外に直面しています:
weblogic.transaction.internal.TimedOutException:300秒後にトランザクションがタイムアウトしました

これは、ステートレスセッションEJB Bean内でjavax.transaction.UserTransaction jtaTransaction.setTransactionTimeout(300)として設定されますが、アプリケーションコンソールのどこでこのプロパティを設定するのかわかりません。

29
yli

ログインすると、サーバーコンソールのホームページに3つのセクションが表示されます。

  • 情報とリソース
  • ドメイン構成
  • サービス構成

サービス構成の下にサブセクションその他のサービスがあります。 その他のサービスの下のJTA設定リンクをクリックします。トランザクションタイムアウトは、Timeout Secondsというラベルの付いた表示ページの一番上の設定にする必要があります。

Weblogic Console screenshot

39
mikej

同じ問題を抱えていた、ありがとうmikej

WLS 10.3では、この構成はサービス> JTAメニューで見つけることができます。または、ドメイン名(メニューの最初の項目)をクリックした場合-構成> JTAタブ。

alt text

29
Kirill Strizhak

Weblogic 9.2では、コンソール経由の設定は次のとおりです。

enter image description here

デフォルト値は60だったと思います。フィールドを編集した後は、必ずRelease Configurationボタンを使用してください。

3
Rafał

上記のリンクはかなり古くなっています。 WebLogic 12cでは、WebLogicデプロイメント記述子weblogic-ejb-jar.xmlで各EJBのトランザクション記述子にトランザクションタイムアウトを定義できます。 weblogic-ejb-jar.xmlデプロイメント記述子リファレンス を参照してください。

メッセージ駆動型の場合、次のようになります。

<weblogic-enterprise-bean>
    <ejb-name>TestMessageBeanLow</ejb-name>
    <message-driven-descriptor>
        <pool>
            <max-beans-in-free-pool>1</max-beans-in-free-pool>
        </pool>
        <destination-jndi-name>jms/ActiveMQ/TestRequestQueue_LOW</destination-jndi-name>
        <connection-factory-jndi-name>jms/ActiveMQ/TestConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    <transaction-descriptor>
        <trans-timeout-seconds>60</trans-timeout-seconds>
    </transaction-descriptor>
    <resource-description>
        <res-ref-name>jms/ConnectionFactory</res-ref-name>
        <jndi-name>jms/ActiveMQ/TestConnectionFactory</jndi-name>
    </resource-description>
</weblogic-enterprise-bean>
0
thmayr

アプリケーションレベルで可能です。デプロイメントの下のEJBをクリックします([ホーム]> [デプロイメントの概要]など)。 [構成]タブをクリックすると、[トランザクションタイムアウト:]があります。

0
Shashi

ドメイン全体のデフォルトタイムアウトを変更したくない場合、weblogic-ejb-jar.xmlのtrans-timeout-seconds属性を設定してデプロイメント記述子を変更するのが最良のオプションです- http: //docs.Oracle.com/cd/E11035_01/wls100/jta/trxejb.html

これは、この特定のEJBに対してのみ「タイムアウト秒」のデフォルトをオーバーライドしますが、他のすべてのEJBは影響を受けません。

0