You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/09/07 12:41:38 UTC
camel git commit: CAMEL-9118: camel-pgevent,
use pg_notify for sending notifications with postgres verion 9 and
above. Thanks to James Lindstorff for the patch.
Repository: camel
Updated Branches:
refs/heads/master b05da3804 -> a302c732e
CAMEL-9118: camel-pgevent, use pg_notify for sending notifications with postgres verion 9 and above. Thanks to James Lindstorff for the patch.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a302c732
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a302c732
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a302c732
Branch: refs/heads/master
Commit: a302c732e2582549baf3c623cbdc1aee46dff553
Parents: b05da38
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Sep 7 12:42:30 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Sep 7 12:42:30 2015 +0200
----------------------------------------------------------------------
.../camel/component/pgevent/PgEventProducer.java | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/a302c732/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventProducer.java b/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventProducer.java
index cfa7d57..a586a22 100644
--- a/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventProducer.java
+++ b/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventProducer.java
@@ -16,10 +16,12 @@
*/
package org.apache.camel.component.pgevent;
+import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.impossibl.postgres.api.jdbc.PGConnection;
+
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultAsyncProducer;
@@ -50,9 +52,17 @@ public class PgEventProducer extends DefaultAsyncProducer {
try {
String payload = exchange.getIn().getBody(String.class);
- String sql = String.format("NOTIFY %s, '%s'", endpoint.getChannel(), payload);
- try (PreparedStatement statement = dbConnection.prepareStatement(sql)) {
- statement.execute();
+ if (dbConnection.isServerMinimumVersion(9, 0)) {
+ try (CallableStatement statement = dbConnection.prepareCall("{call pg_notify(?, ?)}")) {
+ statement.setString(1, endpoint.getChannel());
+ statement.setString(2, payload);
+ statement.execute();
+ }
+ } else {
+ String sql = String.format("NOTIFY %s, '%s'", endpoint.getChannel(), payload);
+ try (PreparedStatement statement = dbConnection.prepareStatement(sql)) {
+ statement.execute();
+ }
}
} catch (SQLException e) {
exchange.setException(e);