<Р> Весна предлагает несколько вариантов, когда дело доходит до управления транзакциями. Наиболее часто используется вариант Декларативные Сделки потому что он имеет наименьшее влияние на код приложения. Тем не менее, я использовал программные опции сделка это было легче всего реализовать в архитектуре, что я работал с.
Многие, кто пытается интегрировать Spring с унаследованного кода могут найти это наиболее реальный вариант. Вот шаги, которые я использовал.
<Р> Во-первых, я изменил файл JBoss-spring.xml включить ссылку фасоли для менеджера транзакций JTA.
JBoss-spring.xml < ш> <р> Затем в классах, которые я хотел, чтобы использовать транзакции я добавил ссылку на компонент в качестве имущества в EM> JBoss-spring.xml файл < . <р> < ш> Я тогда нужно добавить некоторые импорта в реальной класса Java, который будет содержать ссылки транзакционные. Дополнительные функции, которые я должен был добавить, связанные с весны сделок выделены жирным шрифтом <р> BookMgmtHandler.java <р> импорт org.springframework.transaction.PlatformTransactionManager. импорт org.springframework.transaction.TransactionDefinition; импорт org.springframework.transaction.TransactionStatus; импорт org.springframework.transaction.support. DefaultTransactionDefinition; <р> Открытый класс BookMgmtHandler {BookDAO BookDAO = NULL; BookDataAggregator BookDataAggregator = NULL; частный PlatformTransactionManager TransactionManager = NULL; <р> частный TransactionDefinition getDefinition () {DefaultTransactionDefinition DEF = новый DefaultTransactionDefinition (TransactionDefinition.PROPAGATION_REQUIRED); вернуться четкости;} <р> Книга общественного saveBook (Книга Книга) бросает BookException {книга retBook = NULL; Статус TransactionStatus = transactionManager. getTransaction (getDefinition ()); //Поместить блок для ловли исключения откат транзакции попробовать {BookDAO.updateBook (книга); retBook = BookDataAggregator.getBook (book.getBookID ());} поймать (BookException быть) {transactionManager.rollback (статус); бросок будет;} transactionManager.commit (статус); вернуться retBook;} <р> общественного недействительными setTransactionManager (PlatformTransactionManager PlatformTransactionManager) {this.tranЧто сайт клоакинг?