JDBC a notify/listen
Horák Daniel
horak na sitmp.cz
Čtvrtek Duben 3 14:23:52 CEST 2003
> Potreboval bych v Javovskem programu pripojenem pres
> JDBC k PgSQL
> prubezne detekovat urcite zmeny v DB a reagovat na ne.
> Predpokladam ze k
> tomuhle slouzi prikazy NOTIFY a LISTEN.
> Na strane DBMS je mi to celkem jasne - pres nejake
> triggery spoustet
> NOTIFY. Za to je mi to ale naprosto nejasne na strane
> aplikacniho programu v
> Jave. Jak se registrovat jako listener a hlavne, jak
registrace se provede dotazem "LISTEN my_table" do pripojene DB
> naprogramovat nejakou
> metodu, aby se spoustela asynchronne pri zachyceni
> notifikace? Jde to vubec
> v Jave vyuzit?
LISTEN -
http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=sql-list
en.html
NOTIFY -
http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=sql-noti
fy.html
jejich pouziti v libpq
http://www.postgresql.org/docs/view.php?version=7.3&idoc=1&file=libpq-no
tify.html
Pouziti pres JDBC zavisi na tom, jestli tato funkce vubec v JDBC
implementovana. U libpq to funguje tak, ze v ramci odpovedi serveru na
nejaky dotaz (i prazdny) se posila i seznam notifikaci, ktere mam
objednany. Tyto notifikace jsou pak pres API (funkce PQnotifies) cteny
klientskym programem.
Pohledem do aktualniho zdrojaku JDBC tam neco takoveho je (interface
org.postgresql.PGNotificaion a class org.postgresql.core.Notification a
kod v jdbc1/AbstractJdbc1Connection.java).
Dan
Další informace o konferenci Databases