Как установить время ожидания транзакции в конфигурации Jetty JNDI Atomikos - PullRequest
4 голосов
/ 14 октября 2010

Я нахожусь в процессе преобразования различных компонентов Spring в поиск JNDI. В настоящее время я использую Jetty для проверки этого. Я настроил UserTransaction в соответствии с документацией Jetty, и она работает:

<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>

Я попробовал следующее, но это не сработало ... по какой-то причине я закончил с ДВУМЯ пользовательскими транзакциями:

<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>

Есть идеи?

1 Ответ

1 голос
/ 19 октября 2010

Вам потребуется настроить диспетчер транзакций atomikos через файл jta.properties в контексте вашего проекта.
Например, посмотрите на следующий каталог в вашем дистрибутиве Jetty (я использую 6.1.24):

  • / Причал-6.1.24 / контексты / тест-jndi.d / WEB-INF / классы
    • jta.properties

установить свойство с именем com.atomikos.icatch.max_timeout, которое закомментировано в файле примера по умолчанию.
Затем убедитесь, что вы запускаете контейнер Jetty, используя правильно настроенный контекст.

...