如何使用Apache Camel接收PostgreSQL LISTEN / NOTIFY?

时间:2014-01-15 22:01:05

标签: postgresql apache-camel notify listen

我有一个PostgreSQL数据库,当插入表中的行时会触发NOTIFY mychannel

我想使用Apache Camel将这些信息发送给各种来源(Twitter等)。

我知道可以使用JDBC并调用LISTEN mychannel来接收这些通知,但可能需要使用轮询。

我对Camel很新,所以不知道从哪里开始。这是我用SQL,JDBC或Polling Consumer连接器做的事情吗?

是否有一种内置方法可以有效地在Camel中执行此操作?

2 个答案:

答案 0 :(得分:3)

使用更新的答案更新此问题。这个驼峰组件已经创建:

http://camel.apache.org/pgevent.html

答案 1 :(得分:1)

使用pgjdbc-ng驱动程序。它支持不经轮询的异步通知。

Write a Camel Component使用它。请参阅Guava Eventbus组件source code以获取灵感。