Можно ли зарегистрировать какой-либо обратный вызов в транзакции JTA в приложении Spring?
У меня есть некоторые фиктивные сервисы, которые стоят за удаленными сервисами, которые принадлежат другому приложению, к которому обычно обращаются с помощью Spring * HttpInvoker
. Эти фиктивные сервисы моделируют данные в памяти тривиальным способом, используя Map
s и т. П.
Юнит-тесты не обязательно знают, какие из этих сервисов могут быть использованы; служба, на которую ориентирован тестовый пример, может использовать их за кулисами.
Модульные тесты являются транзакционными, и Spring * * * * * * * * * * будет откатывать транзакцию после каждого теста, что означает, что состояние нашей базы данных модульных тестов сохраняется между тестами.
Как откатить состояние этой пользовательской реализации службы в памяти? Если бы был способ узнать, происходит ли в данный момент транзакция, то я надеялся, что найдется способ зарегистрировать обратный вызов с помощью TransactionManager
, который будет выполнен до завершения транзакции.