4

さまざまな Spring Bean を JNDI ルックアップに変換中です。現在、Jetty を使用してこれをテストしています。Jetty のドキュメントに従って UserTransaction を構成しましたが、動作します。

<New id="tx" class="org.mortbay.jetty.plus.naming.Transaction">
    <Arg>
        <New class="com.atomikos.icatch.jta.UserTransactionImp">
        </New>
    </Arg>
</New>

この構成の問題は、Spring 構成のようにトランザクション タイムアウトを設定しないことです。

<bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">
    <!-- Number of seconds before transaction timesout. -->
    <property name="transactionTimeout" value="30" />
</bean>

私は次のことを試しましたが、うまくいきませんでした...何らかの理由で、2つのユーザートランザクションが発生しました:

<New id="tx" class="org.mortbay.jetty.plus.naming.Transaction">
    <Arg>
        <New class="com.atomikos.icatch.jta.UserTransactionImp">
            <Set name="transactionTimeout">30</Set>
        </New>
    </Arg>
</New>

何か案は?

4

1 に答える 1

1

jta.propertiesjettyコンテキスト内のファイルを介してatomikosトランザクションマネージャーを構成する必要があります。
たとえば、Jettyディストリビューション内の次のディレクトリを見てください(私は6.1.24を使用しています)。

  • /jetty-6.1.24/contexts/test-jndi.d/WEB-INF/classes
    • jta.properties

com.atomikos.icatch.max_timeoutデフォルトのサンプルファイルでコメント化されている、というプロパティを設定します。
次に、正しく構成されたコンテキストを使用して桟橋コンテナを起動するようにしてください。

于 2010-10-19T16:24:22.660 に答える