Предположим, у меня есть какая-то сторонняя библиотека, и я хочу интегрировать ее со Spring, чтобы иметь возможность использовать ее как часть транзакции Spring. Я не нашел соответствующей информации о Inte rnet и посмотрел исходный код интеграции библиотек RabbitMQ и MyBatis. Как я понял из их исходного кода, я должен реализовать org.springframework.transaction.PlatformTransactionManager
и взаимодействовать с TransactionSynchronizationManager
. И есть два вопроса:
- Каким образом Spring «узнает» и реализует реализации
PlatformTransactionManager
? - Предположим, что в транзакции использовались два ресурса через
RabbitTemplate
и JdbcTemplate
. Что будет первым зафиксировано - изменения в базе данных или отправленные сообщения?
Кроме того, я был бы очень признателен, если бы кто-нибудь указал мне на какое-нибудь руководство или книгу о взаимодействии с внутренними объектами Spring.