Обсуждение: Is it possible to get the Payload from a NOTIFY via the JDBC Driver?

Поиск
Список
Период
Сортировка

Is it possible to get the Payload from a NOTIFY via the JDBC Driver?

От
Edvin Syse
Дата:
Hi :)

According to the JavaDoc, the PGNotification#getParameter() is currently a NOOP. I was wondering if there are any plans
toimplement it, or if it would be possible to get this information some other way?
 

I'm also curious to know if there are any plans to implement async support for notifications.

Sincerely,
Edvin Syse

Re: Is it possible to get the Payload from a NOTIFY via the JDBC Driver?

От
Kris Jurka
Дата:

On Mon, 15 Aug 2011, Edvin Syse wrote:

> According to the JavaDoc, the PGNotification#getParameter() is currently
> a NOOP. I was wondering if there are any plans to implement it, or if it
> would be possible to get this information some other way?
>

This works with 9.0 and newer server versions.  The JDBC driver didn't
need any changes to make that happen, so the comment never got updated.

> I'm also curious to know if there are any plans to implement async
> support for notifications.
>

Meaning a callback mechanism or just not needing to issue queries to the
server?  Currently the JDBC driver supports an intermediate method
depending on your connection type.  You only need to poll
PGConnection.getNotifications, not issue server queries as long as you
aren't connected via SSL.  The driver uses InputStream.available to
determine when a notification is pending which isn't supported on all
InputStreams.


Kris Jurka

Re: Is it possible to get the Payload from a NOTIFY via the JDBC Driver?

От
Edvin Syse
Дата:
> This works with 9.0 and newer server versions.  The JDBC driver didn't
> need any changes to make that happen, so the comment never got
> updated.

Sweet, thanks :)

> > I'm also curious to know if there are any plans to implement async
> > support for notifications.
> >
> 
> Meaning a callback mechanism or just not needing to issue queries to the
> server?  Currently the JDBC driver supports an intermediate method
> depending on your connection type.  You only need to poll
> PGConnection.getNotifications, not issue server queries as long as you
> aren't connected via SSL.  The driver uses InputStream.available to
> determine when a notification is pending which isn't supported on all
> InputStreams.

It would be nice to be able to attach a listener that gets notifications in realtime as they come over the wire, but if
Iunderstand you correctly, I can atleast let a thread poll regularily, and it will not create any network traffic,
right?Is there a way to attach a listener with today's architecture?
 

-- Edvin