Расширение поддержки Guice JPA для обеспечения хуков транзакций

Я нуждаюсь в пост-фиксации транзакций. Я использую хранилище событий, и мне нужно гарантировать, что события не будут опубликованы до тех пор, пока транзакция не будет зафиксирована, поскольку обработчику событий могут потребоваться данные из предыдущей транзакции.

Я использую Guice с модулем JPA, чтобы связать все. Я думаю, что я мог бы довольно легко добавить крюк, изменив JpaLocalTxnInterceptor из модуля guice-persist, я мог бы прекратить использование @Transactional и сделать это вручную, но предпочел бы скрыть этот шаблон, есть ли лучшее решение?

1 ответ

Мое предложение состоит в том, чтобы добавить пользовательский перехватчик и пользовательскую аннотацию. Вы можете скопировать существующий JpaLocalTxnInterceptor для начала.

Другим решением является использование JTA и включение в транзакцию как БД, так и EventStore. Но с другой стороны, распределенные транзакции сами по себе являются проблемой.

Кстати. Guys упорствовать не suoppert JTA. Onami Persist будет альтернативой.

Другие вопросы по тегам