Множественные события Spring в двух разных транзакциях не принимаются в том же порядке совершения двух транзакций. ⇐ JAVA
Множественные события Spring в двух разных транзакциях не принимаются в том же порядке совершения двух транзакций.
Я использую @TransactionalEventListener для прослушивания опубликованных событий при весенней загрузке. У меня есть два разных метода, аннотированных @Transactional, которые публикуют события одного и того же типа, которые я прослушиваю. Я использую пессимистическую блокировку записи для обоих методов, чтобы обеспечить согласованность, поэтому, когда два запроса, по одному для каждого метода, принимаются одновременно, один метод блокирует другой до тех пор, пока он не будет зафиксирован.
Когда первым получен запрос на метод 1, и его завершение занимает много времени, а в середине получен запрос на метод 2, он блокируется до тех пор, пока не завершится метод 1.
Моя проблема в том, что события, опубликованные каждым методом, не принимаются прослушивателем в том же порядке фиксации результатов. Я имею в виду, что события для метода 1 получены после событий метода 2.
Я использую @TransactionalEventListener для прослушивания опубликованных событий при весенней загрузке. У меня есть два разных метода, аннотированных @Transactional, которые публикуют события одного и того же типа, которые я прослушиваю. Я использую пессимистическую блокировку записи для обоих методов, чтобы обеспечить согласованность, поэтому, когда два запроса, по одному для каждого метода, принимаются одновременно, один метод блокирует другой до тех пор, пока он не будет зафиксирован.
Когда первым получен запрос на метод 1, и его завершение занимает много времени, а в середине получен запрос на метод 2, он блокируется до тех пор, пока не завершится метод 1.
Моя проблема в том, что события, опубликованные каждым методом, не принимаются прослушивателем в том же порядке фиксации результатов. Я имею в виду, что события для метода 1 получены после событий метода 2.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение