Is PrinterUri attribute ignored by Java PrintService?

1.5k Views Asked by At

I'm using the following code in order to send a print job to a specific printer:

PrintServiceAttributeSet aset = new HashPrintServiceAttributeSet();
     try {
            aset.add(new PrinterURI(new URI("ipp://hostName/printerName")));
        } catch (URISyntaxException e) {
            System.out.println("URI exception caught: "+e);
        }
        PrintService[] services =
            PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.POSTSCRIPT,aset);  

Strangley, I get 9 lookup results (=all available printers on that specific host) - while only the first result is the one I'm seeking. I searched in the PrintService JavaDocs, and on the web - but found nothing on the matter.

Isn't PrintServiceLookup expected to return only the printers which match my request? (in this case - one printer)

Thanks in advance!

1

There are 1 best solutions below

1
On BEST ANSWER

It turns out that the URI I was using was wrong (yet with a valid syntax, so no exception was thrown).
So answering my initial question - Java PrintService ignores an attribute which is wrong (as opposed to my expectation, that PrintService would return no result in case of a wrong attribute).

Thanks anyway