我有一個PostgreSQL數據庫,當插入表中的行時觸發NOTIFY mychannel
。如何使用Apache Camel接收PostgreSQL LISTEN/NOTIFY?
我想用Apache Camel將這些信息發送給各種來源(Twitter等)。
據我所知,可以使用JDBC並調用LISTEN mychannel
來接收這些通知,但可能需要使用輪詢。
我對駱駝很新,所以不知道從哪裏開始。這是我會用SQL,JDBC或Polling Consumer連接器做什麼的嗎?
有沒有一種內置方法可以有效地在Camel中做到這一點?
客戶端只能收到通知時,它積極地從服務器檢索的東西。所以你需要輪詢服務器的通知。 –
PgJDBC中的底層接口在[PgJDBC文檔](http://jdbc.postgresql.org/documentation/92/listennotify.html)中討論。您需要原始JDBC'java.sql.Connection',然後將其轉換爲'PGConnection'並調用'getNotifications()'。如果Camel有其自己的支持,它將通過JDBC驅動程序中的該接口,因此請在Camel源代碼中查找'getNotifications'。 –