如何使用Apache Camel接收PostgreSQL侦听/通知?

如何使用Apache Camel接收PostgreSQL侦听/通知?,postgresql,apache-camel,notify,listen,Postgresql,Apache Camel,Notify,Listen,我有一个PostgreSQL数据库,当插入表中的行时,它会触发一个notifymychannel 我想使用ApacheCamel将此信息发送到各种来源(Twitter等) 我知道可以使用JDBC和calllistenmychannel来接收这些通知,但可能需要使用轮询 我对骆驼很陌生,所以不知道从哪里开始。对于SQL、JDBC或轮询消费者连接器,我会这样做吗 是否有一种内置的方法可以在Camel中高效地执行此操作 使用驱动程序。它支持无轮询的异步通知 使用它。请参阅Guava Eventbus组

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

我想使用ApacheCamel将此信息发送到各种来源(Twitter等)

我知道可以使用JDBC和call
listenmychannel
来接收这些通知,但可能需要使用轮询

我对骆驼很陌生,所以不知道从哪里开始。对于SQL、JDBC或轮询消费者连接器,我会这样做吗

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

使用驱动程序。它支持无轮询的异步通知

使用它。请参阅Guava Eventbus组件以获取灵感。

使用驱动程序。它支持无轮询的异步通知


使用它。请参阅Guava Eventbus组件以获取灵感。

用最新答案更新此问题。已创建此驼峰组件:


用最新答案更新此问题。已创建此驼峰组件:


客户端只能在主动从服务器检索内容时接收通知。因此,您需要轮询服务器以获取通知。您需要原始JDBC
java.sql.Connection
,然后将其强制转换为
PGConnection
并调用
getNotifications()
。如果Camel有自己的支持,它将通过JDBC驱动程序中的该接口,因此请在Camel源代码中查找
getNotifications
。客户端只能在主动从服务器检索内容时接收通知。因此,您需要轮询服务器以获取通知。您需要原始JDBC
java.sql.Connection
,然后将其强制转换为
PGConnection
并调用
getNotifications()
。如果Camel有自己的支持,它将通过JDBC驱动程序中的该接口,因此在Camel源代码中查找
getNotifications