Re: FW: LISTEN/NOTIFY support in JDBC driver?
От | Bruce Momjian |
---|---|
Тема | Re: FW: LISTEN/NOTIFY support in JDBC driver? |
Дата | |
Msg-id | 200202230207.g1N277O02568@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: FW: LISTEN/NOTIFY support in JDBC driver? (Barry Lind <barry@xythos.com>) |
Список | pgsql-jdbc |
Barry, do you have a patch you want to apply for 7.3? --------------------------------------------------------------------------- Barry Lind wrote: > Ben, > > I was looking into this a bit more tonight. I have gotten some > notifications to come through. But not all. > > If you apply the following two line patch to current sources you will > get notifications if (and only if) you run with autoCommit = true. If > you set autoCommit to false the backend never sends the notifications to > the client, and I have no idea why. I plan to follow up on that. Given > that this only partly works, I don't want to commit this change into 7.2 > as it isn't complete and 7.2 is too close to release. > > thanks, > --Barry > > > *** QueryExecutor.java Mon Jan 14 21:53:38 2002 > --- QueryExecutor.java.orig Mon Jan 14 21:54:24 2002 > *************** > *** 70,77 **** > switch (c) > { > case 'A': // Asynchronous Notify > ! int pid = > pg_stream.ReceiveIntegerR(4); > ! > connection.addWarning(pg_stream.ReceiveString(connection.getEncoding()) > + " - " +pid ); > break; > case 'B': // Binary Data Transfer > receiveTuple(true); > --- 70,77 ---- > > switch (c) > > { > > case 'A': // Asynchronous Notify > ! > int pid = pg_stream.ReceiveInteger(4); > ! > String msg = pg_stream.ReceiveString(connection.getEncoding()); > > break; > > case 'B': // Binary Data Transfer > > receiveTuple(true); > > > Benjamin.Feinstein@guardent.com wrote: > > > Hey David, > > > > I've forwarded the thread from a few days ago regarding async client > > notifications using the PostgreSQL JDBC interface. Barry answered that it > > was possible, but I've been unable to get the code to work. Anyone got > > working LISTEN/NOTIFY code uding JDBC? > > > > Thanks for any help, > > Ben > > > > -----Original Message----- > > From: Ben Feinstein > > Sent: Monday, January 14, 2002 10:13 AM > > To: barry@xythos.com > > Cc: pgsql-jdbc@postgresql.org > > Subject: Re: [JDBC] LISTEN/NOTIFY support in JDBC driver? > > > > > > Hey all, > > > > I've tried selecting from the db in between checking for warnings, but still > > no luck? Does anyone have JDBC code that issues a LISTEN, then reaps > > notifications from the connection warnings? > > > > Much thanks!, > > Ben > > > > -----Original Message----- > > From: Barry Lind [mailto:barry@xythos.com] > > Sent: Friday, January 11, 2002 12:58 PM > > To: Ben Feinstein > > Cc: pgsql-jdbc@postgresql.org > > Subject: Re: LISTEN/NOTIFY support in JDBC driver? > > > > > > Ben, > > > > Since the jdbc driver doesn't poll the server, you would only see > > notifications after interacting with the database in someother way. > > Thus you will periodically need to issue queries to get the > > notifications to be read. (note I havn't tried this, but from looking > > at the code this should be the case). > > > > thanks, > > --Barry > > > > > > > > Benjamin.Feinstein@guardent.com wrote: > > > > > >>Hey ya'll, > >> > >>Thanks for the quick reply, Barry! I'm still having trouble getting the > >>notifications from the "SQLWarning Connection.getWarnings()" method. When > >> > > I > > > >>tried to execute multiple LISTEN statments, I get warnings like: > >> > >>java.sql.SQLWarning: NOTICE: Async_Listen: We are already listening on > >>event > >> > >>However, I've never gotten a notification from the warnings. Yes, I am > >>sending the notifies from another connection to the same database. I've > >>attached my Java test program. Could you take a look and see what I'm > >> > > doing > > > >>wrong? > >> > >>Cheers, > >>Ben > >> > >>-----Original Message----- > >>From: Barry Lind [mailto:barry@xythos.com] > >>Sent: Wednesday, January 09, 2002 10:10 PM > >>To: Ben Feinstein > >>Cc: pgsql-jdbc@postgresql.org > >>Subject: Re: LISTEN/NOTIFY support in JDBC driver? > >> > >> > >>The jdbc driver does support notifications, but in a rather strange way. > >> When the driver receives a notification is takes the notification > >>message and adds it to the list of warnings on the connection. So the > >>way you get notifications is to call getWarnings(). Given that there > >>isn't a concept like notifications in the jdbc API, this is perhaps the > >>best way these can be handled within jdbc, unless someone can suggest a > >>better approach. > >> > >>thanks, > >>--Barry > >> > >>Benjamin.Feinstein@guardent.com wrote: > >> > >> > >> > >>>Hello ya'll, > >>> > >>>It appears that the current version of the JDBC interface for PostgreSQL > >>>does not implement asyncronous client notifications. I have been able to > >>>issue a NOTIFY statement through the JDBC driver, but I haven't found how > >>> > >>> > >>to > >> > >> > >>>LISTEN for an client notification. Am I missing something, or does the > >>>JDBC-PgSQL interface not support LISTEN? Does anyone know of a patch to > >>> > >>> > >>the > >> > >> > >>>JDBC-PgSQL interface that enables the LISTEN functionality? I've looked > >>> > >>> > >>back > >> > >> > >>>through the list archives but was unable to find any threads in this > >>> > >>> > >>topic. > >> > >> > >>>I'm running: > >>>PostgreSQL 7.1.3 > >>>jdbc7.1-1.2.jar > >>>Sun JDK 1.3.1_01 > >>> > >>>Thanks for any help, > >>>Ben > >>> > >>> > >>> > >>> > >>>>Ben Feinstein > >>>>Software Development Engineer, R & D > >>>>W: 678.585.7865 x6726 F: 770.645.8311 M: 678.772.4126 > >>>>8302 Dunwoody Pl., Suite 320, Atlanta, GA 30350 www.guardent.com > >>>>_____________________________________________________ > >>>>G U A R D E N T > >>>>Enterprise Security and Privacy Programs > >>>> > >>>> > >>>> > >>>> > >>>> > >>>---------------------------(end of broadcast)--------------------------- > >>>TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > >>> > >>> > >>> > >>> > >> > > > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 2: you can get off all lists at once with the unregister command > > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 3: if posting/reading through Usenet, please send an appropriate > > subscribe-nomail command to majordomo@postgresql.org so that your > > message can get through to the mailing list cleanly > > > > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
В списке pgsql-jdbc по дате отправления: