Атрибут PrinterUri игнорируется Java PrintService?

Я использую следующий код для отправки задания на печать на определенный принтер:

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);  

Странно, я получаю 9 результатов поиска (= все доступные принтеры на этом конкретном хосте) - пока я ищу только первый результат. Я искал в PrintService JavaDocs и в Интернете - но ничего не нашел по этому вопросу.

Разве PrintServiceLookup не должен возвращать только те принтеры, которые соответствуют моему запросу? (в данном случае - один принтер)

Заранее спасибо!

1 ответ

Решение

Оказалось, что использованный мною URI был неверным (но с правильным синтаксисом, поэтому исключение не выдавалось).
Итак, отвечая на мой первоначальный вопрос - Java PrintService игнорирует атрибут, который является неправильным (в отличие от моих ожиданий, что PrintService не будет возвращать результат в случае неправильного атрибута).

Спасибо, в любом случае

Другие вопросы по тегам