Size: a a a

2020 February 05

DS

Dmitriy Shilnikov in learn.java
Т.е. прокси, которая транзакцию начинает, может позже или раньше твоего аспекта сработать. В любом варианте я могу придумать кейс, когда @Transactional будет работать не так, как должно.
источник

d

dima in learn.java
Юрий
транзакция полюбому должна быть потому что идет сохранение объекта в бд (2 раза)
а тебе по суди асинхронно по задаче надо что-то в бд пушить?
источник

d

dima in learn.java
с какой-то логикой?
источник

Ю

Юрий in learn.java
да
источник

d

dima in learn.java
такие вещи я делал через @TransactionalEventListener
источник

d

dima in learn.java
и через спринговый event bus
источник

d

dima in learn.java
там все в порядке с транзакциями и все настраивается
источник

DS

Dmitriy Shilnikov in learn.java
У него, по-моему, немного другой кейс. У него прямо сам вызов метода, который пишет, асинхронным должен быть.
источник

DS

Dmitriy Shilnikov in learn.java
Эта штука она же к существующей транзакции привязана, типа выполнить что-нибудь после её завершения.
источник

DS

Dmitriy Shilnikov in learn.java
А у него, вроде как, новая транзакция
источник

d

dima in learn.java
транзакцию можно и новую начать
источник

d

dima in learn.java
просто там это все будет аккуратно прокинуто через скрытый таск экзекьютор
источник

d

dima in learn.java
тебе только кинуть эвент, а на том конце обработать и все
источник

Ю

Юрий in learn.java
спасибо, завтар посмотрю)
источник

Ю

Юрий in learn.java
а вообще лучше бы не пилил свои аннотации, больше проблем:D
источник

DS

Dmitriy Shilnikov in learn.java
Юрий
спасибо, завтар посмотрю)
Ты вообще можешь прямо в аспекте транзакцию октырть, по идее )
источник

DS

Dmitriy Shilnikov in learn.java
Юрий
а вообще лучше бы не пилил свои аннотации, больше проблем:D
Тут же не в аннотации проблема, а в том, что ты асинхронную операцию делаешь.
источник

d

dima in learn.java
Если можно обойтись без своих аннотаций, без аспектов, то лучше и не делать
источник

d

dima in learn.java
для асинхронных тасок + бд есть @Async, @TransactionalEventListener
источник

d

dima in learn.java
org.springframework.context.ApplicationEventPublisher
источник