Re: implementing asynchronous notifications PLEASE CONFIRM MY - Mailing list pgsql-jdbc

From David Gagnon
Subject Re: implementing asynchronous notifications PLEASE CONFIRM MY
Date
Msg-id 430E235F.5090708@siunik.com
Whole thread Raw
In response to Re: implementing asynchronous notifications  (Andras Kadinger <bandit@surfnonstop.com>)
Responses Re: implementing asynchronous notifications PLEASE CONFIRM  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
Thanks for your answer !!!

       I look more deeply with solution #1 but the big problem seem to
be the lack of flexibility with the notify mechanism...  In the trigger
I would send something like

NOTIFY "TABLEX:UPDATE:111";

To say table row with id 111 on table X have been updated ...But I I
need to explicitly LISTEN on a Channel (or identifier) .. How can I get
this notification on the client.

Is there something I dont understand?  Have you implemented it this way ?

Thanks for your help... I really need to find an answer to this problem :-/

/David

Andres Olarte wrote:

>I've been using #1 in development and testing, and I think we'll go
>live in about a month.  I have a number of desktop applications
>registering notifications, and getting updates this way, and all tests
>have gone nicely.
>
>#2 is really unelegant, and won't scale well.  #3 is not yet possible
>but could be using tons of code in stored procedures.  I would say #1
>is the way to go.
>On 8/21/05, David Gagnon <dgagnon@siunik.com> wrote:
>
>
>> Hi all,
>>
>>   I have a java web application connected to a postgresql DB (of course
>>:-)).  I create a bunch of cache in my web Application and I need postgresql
>>to inform the application of row update and delete.  I think this is a
>>common behavior when we cache data in the application and use stored
>>procedure to update data.
>>
>> I saw this thread (See below) a while ago but I'm not sure a this is the
>>best way to solve my problem.  I think there is 3 possibilities to solve
>>this problem:
>>
>> #1:  Having rules/trigger on update and delete that create notification.
>>On the java server I need a thread to read the notification and update the
>>caches in the system accordingly.
>>
>> #2: Having rules/trigger on update and delete that write a line into a
>>table. On the java server I need a thread to read the table and update the
>>caches in the system accordingly.
>>
>> #3: Having rules/trigger on update and delete that call a CALLBACK function
>>that goes directly to the server... and update the cache directly.
>>
>> #4: Any other idea ?
>>
>>
>> For #1: Is that reliable? 100% full prove.  I must not loose
>>notifications... because my cache wont be in synch
>>
>> For #2:  Seem the best way to do it...  Is there a way to do it to reduce
>>performance impact ?
>>
>> For #3:  Don't think it's implemented yet ... am I wrong?
>>
>>
>> Thanks for your help pointing me the best implementation to solve my
>>problem
>>
>> Best Regards !
>>
>> /David
>>
>>
>>
>>
>> Oliver Jowett wrote:
>> David Gagnon wrote:
>>
>>
>>
>> I just read this thread. Wich seems really interesting. Is there an
>>example on how to use Async Notifies? I look at it a couple of months
>>ago and found it not sufficient for my needs. I need to implement a
>>notification mechanism to clear data from caches in my application on
>>data update.
>>
>>Is this change allow me to do that .. ? That will be so nice :-)
>>
>>If yes it's that possible to get a small example on how to use it.
>>
>> Basically, you can now call PGConnection.getNotifications() and get
>>results without having to submit a dummy query first.
>>
>>You will still need an application-level loop that periodically calls
>>it, though. Also, it's not guaranteed to give you notifications: you
>>must be not in a transaction (this is server-side behaviour), and you
>>must be using a Socket implementation that implements available() (SSL
>>connections may not do this).
>>
>>-O
>>
>>---------------------------(end of
>>broadcast)---------------------------
>>TIP 2: you can get off all lists at once with the unregister command
>> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>>
>>
>>
>>
>>
>>
>
>
>


pgsql-jdbc by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: Is this error correct/possible?
Next
From: Kris Jurka
Date:
Subject: Re: Is this error correct/possible?