У меня есть класс, который аннотируется @Service
. У меня есть метод, который должен обновлять два разных источника данных (база данных и репозиторий контента). Я добавил @Transactional
по методу в классе обслуживания. Без каких-либо дополнительных настроек; Правильно ли, что два класса репозитория (аннотированные с @Repository
) запускаются в рамках одной и той же транзакции?Правильное использование @Transactional весной
Я использую JBoss 7.1.1 и у меня есть эти две строки в Spring (3.2) конфигурации:
<tx:jta-transaction-manager/>
<tx:annotation-driven proxy-target-class="true"/>
Или это работать в двух различных операциях? Я хочу только зафиксировать данные, если в методе уровня обслуживания не выбрасываются исключения во время выполнения. Он вызывается из метода контроллера (класс аннотируется @Controller
).
Я добавлю 500 бонусов как можно скорее к парню, который поможет мне получить Jackrabbit и соединение с базой данных для работы в одной транзакции. Я использую JBoss 7.1.1, Spring 3.2, Jackrabbit 2.6.2 JCA.
Ваша конфигурация должна быть достаточной, так как весна берет необходимые компоненты из jndi, но JTA обычно является PITA. Я просто предлагаю вам протестировать частичные сбои с обоими источниками данных, а также с сбоями приложений, поскольку транзакции JTA не так легко восстановить, и вам может потребоваться выполнить некоторые ручные действия для * удаления * частичной транзакции от менеджера транзакций и баз данных – Augusto