Long, long time ago I've sent implementation with timers, you need to
search archive If you need this.
Regards,
Radek
On Thu, 15 Dec 2011 12:45:57 +0800, Craig Ringer wrote:
>> I've popped a question up here:
>>
>>
>
>
http://stackoverflow.com/questions/8514725/obtaining-a-java-util-timer-or-equivalent-in-a-javaee-friendly-way-that-works-on
>> [1]
>>
>> to see if I can get some broader input on the issue of portable
>> timers.
>
> ... and boy am I glad I did, thanks to Bauke Scholtz (BalusC) on SO.
>
> It looks like we can probably use a ScheduledThreadPoolExecutor
> safely from within a Java EE container or servlet container, so long
> as:
>
> - We never let EE application code that requires EE services - like
> servlet code, EJBs, etc - run on its thread(s); and
>
> - We use a ServiceLoader in /META-INF/services to destroy it when
> the
> JDBC driver is unloaded, the war
> the JDBC driver is bundled in is undeployed or the app server is
> stopped;
>
> That should provide the JDBC driver with a suitable timer mechanism.
>
> Perhaps more excitingly, a generic ThreadPoolExecutor can be safely
> used within an EE container the same way, potentially allowing the
> JDBC driver to use threads for blocking I/O. That'd finally permit a
> version of PgConnection.getNotifications() that can be safely invoked
> without blocking when SSL is in use!
>
> A driver thread pool could also help permanently fix those
> occasional
> deadlocks that happen due to buffer management issues in the JDBC
> driver.
>
> I'll try to find time to do some testing and see if I can make this
> work or at least bash out a proof of concept.
>
> --
> Craig Ringer
>
>
> Links:
> ------
> [1]
>
>
http://stackoverflow.com/questions/8514725/obtaining-a-java-util-timer-or-equivalent-in-a-javaee-friendly-way-that-works-on