Интеграция с Spring - Как заставить сообщение выжить в хранилище сообщений jdb c в случае ошибки или / и завершить работу в обработчике потребления - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть поток, который сохраняет сообщения в хранилище сообщений jdb c:

...
.channel { c -> c.queue(jdbcChannelMessageStore, "persist") }
.handle(MessageHandler { 
                        Thread.sleep(3000); 
                        throw RuntimeException() 
} ) { e -> e.poller { it.fixedDelay(1000)} }

Как сделать так, чтобы сообщение не удалялось до успешного завершения hanler?

1 Ответ

1 голос
/ 28 апреля 2020

Сделать опрашивающее устройство .transactional(), чтобы нисходящий поток выполнялся в транзакции; удаление не будет выполнено, пока поток не закончится (или не будет передан другому потоку).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...