Thread: NOTIFY/LISTEN with JDBC

NOTIFY/LISTEN with JDBC

From
"Martin Kresse"
Date:
Hi there,

I'm writing a database application in Java, which needs to get 
notified about changes in the database. Therefore I'd like to use the 
NOTIFY/LISTEN mechanism, but I can't get it working with JDBC. I 
was told, to use connection.getWarnings() method to retrieve 
notifications, which doesn't seem to work. I'm using PostgreSQL 
6.5.1 with the JDBC-Driver 6.5 for jdk1.1, and the following code 
doesn't produce any output, while a parallel running psql-shell 
displays the notifications...
     Connection c = DriverManager.getConnection(...);     Statement s = c.createStatement();     s.execute("LISTEN
test");
     while(true) {       s.execute("NOTIFY test");       SQLWarning w = c.getWarnings();       if (w != null)
System.out.println(w.getMessage());      try {         Thread.sleep(2000);       } catch (InterruptedException ex) {}
 }
 

Am I doing something wrong?
Thanks a lot for your help,
 Martin Kresse