Как написать триггер события, который отправляет оповещения в очередь JMS
Есть ли какой-нибудь пример, где мы можем инициировать событие для отправки сообщений в очередь JMS, когда таблица обновляется / вставляется и т. Д. Для MYSQL/Postgre?
1 ответ
Это звучит как хорошая задача для pg_message_queue (которую вы можете получить из Google Code или PGXN), которая позволяет ставить запросы в очередь. pg_message_queue пока не выполняет большую работу по параллелизму (с точки зрения потребителей параллельных очередей), но я не думаю, что вам это нужно.
Что вы действительно хотите сделать (и что предоставляет pg_message_queue) - это таблица очередей для хранения сообщения jms, а затем триггер для помещения этого сообщения в очередь. Тогда вопрос в том, как вы получите его от jms. У вас есть в основном два варианта (оба из которых поддерживаются):
- СЛУШАТЬ для уведомлений, и когда они приходят, справиться с ними.
- Периодически опрашивать на уведомления. Вы можете сделать это, если у вас много приходящих уведомлений, так что вы можете отправлять их каждую минуту или около того, или если у вас мало приходящих уведомлений, и вы хотите обрабатывать их в полночь.
Естественно, это только PostgreSQL. Делать то же самое на MySQL? Я не знаю, как это сделать. Я думаю, что вы застряли бы с опросом таблицы, но вы могли бы использовать pg_message_queue, чтобы понять, как делать все остальное. Обратите внимание, что во всех случаях это полностью транзакционный процесс, поэтому сообщение не будет отправлено до завершения транзакции, что, вероятно, вам и нужно.