[OpenJDK 2D-Dev] Fwd: Re: <Swing Dev> [11] JDK-8153732: Windows remote printer changes do not reflect in lookupPrintServices()
Philip Race
philip.race at oracle.com
Thu Jun 21 00:07:35 UTC 2018
The main concern I have is we now have a busy thread burning CPU ..
bad for laptops .. and if we add a delay we have less prompt notification
of a new local printer.
I think the compromise is that the existing thread maybe kept as is,
and we add a new thread that pools every 10 minutes for a remote printer.
If we can make the existing thread wake up from its wait and do that,
even better.
-phil.
-------- Original Message --------
Subject: Re: [11] JDK-8153732: Windows remote printer changes do not
reflect in lookupPrintServices()
Date: Wed, 20 Jun 2018 17:03:56 -0700
From: Philip Race <philip.race at oracle.com>
Organization: Oracle Corporation
To: Shashidhara Veerabhadraiah <shashidhara.veerabhadraiah at oracle.com>
CC: awt-dev at openjdk.java.net, swing-dev at openjdk.java.net
This is on the wrong lists. Not Swing. Not AWT. Should be 2d.
I'll forward it there and continue there. Consider the AWT+Swing threads
dead.
-phil.
On 6/20/18, 3:12 AM, Shashidhara Veerabhadraiah wrote:
>
> Hi All, Please review this code changes for the below enhancement.
>
> Enhancement: https://bugs.openjdk.java.net/browse/JDK-8153732
>
> Webrev: http://cr.openjdk.java.net/~sveerabhadra/8153732/webrev.00/
> <http://cr.openjdk.java.net/%7Esveerabhadra/8153732/webrev.00/>
>
> Details of the changes: Windows provides *PrinterChangeNotification*
> functions that provides information about printer status changes of
> the local printers(subset) but not network printers.
> Alternatively, Windows provides a way thro' which one can get the
> network printer status changes by using WMI, RegistryKeyChange
> combination, which is a slightly complex mechanism.
> The Windows WMI offers an async and sync method to read thro' registry
> via the WQL query. The async method is considered dangerous as it
> leaves open a channel until we close it. But the async method has the
> advantage of being notified of a change in registry by calling
> callback without polling for it. The sync method uses the polling
> mechanism to notify.
> RegistryValueChange cannot be used in combination with WMI to get
> registry value change notification because of an error that may be
> generated because the scope of the query would be too big to handle(at
> times).
> Hence an alternative mechanism is choosen via the EnumPrinters by
> polling for the count of printer status changes(add\remove) and based
> on it update the printers list(both local and remote printers - superset).
>
> Thanks and regards,
>
> Shashi
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20180620/425ceb72/attachment.html>
More information about the 2d-dev
mailing list