Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-12228

Print command fails in case of multiple copies

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.18.1, 2.19.0, 2.20.0
    • Fix Version/s: 2.19.5, 2.20.3, 2.21.0
    • Component/s: camel-printer
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      When the printer component is configured to print multiple copies, two print jobs are created. The first one runs OK, the second one fails.

      lpr://localhost/printer?copies=2&mediaSize=ISO_A4&flavor=DocFlavor.INPUT_STREAM
      
      org.apache.camel.component.printer.PrinterOperations DEBUG Issuing Job 0 to Printer: printer
      org.apache.camel.component.printer.PrinterOperations DEBUG Issuing Job 1 to Printer: printer
      ERROR ID-47935-1516954952584-8-4
      java.io.IOException: error=1 running: '/usr/bin/lpr' '-Pprinter' '-J file.pdf' '-#2' '-o media=A4 sides=one-sided' '/opt/tomcat/temp/javaprint7376295310894617090'
                     /usr/bin/lpr: No file in print request.
      javax.print.PrintException: java.io.IOException: error=1 running: '/usr/bin/lpr' '-PBriefing' '-J file.pdf' '-#2' '-o media=A4 sides=one-sided' '/opt/tomcat/temp/javaprint7376295310894617090'
                     /usr/bin/lpr: No file in print request.
             at sun.print.UnixPrintJob$PrinterSpooler.run(UnixPrintJob.java:1017)
             at java.security.AccessController.doPrivileged(Native Method)
             at sun.print.UnixPrintJob.print(UnixPrintJob.java:608)
             at org.apache.camel.component.printer.PrinterOperations.print(PrinterOperations.java:109)
             at org.apache.camel.component.printer.PrinterOperations.print(PrinterOperations.java:99)
             at org.apache.camel.component.printer.PrinterProducer.print(PrinterProducer.java:57)
             at org.apache.camel.component.printer.PrinterProducer.process(PrinterProducer.java:51)
             at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
             at org.apache.camel.processor.SendDynamicProcessor$1.doInAsyncProducer(SendDynamicProcessor.java:124)
             at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:436)
             at org.apache.camel.processor.SendDynamicProcessor.process(SendDynamicProcessor.java:119)
             at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
             at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)
             at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)
             at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)
             at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:62)
             at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:145)
             at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
             at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)
             at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)
             at org.apache.camel.processor.Pipeline.process(Pipeline.java:120)
             at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)
             at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)
             at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)
             at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
             at org.apache.camel.processor.MulticastProcessor.doProcessParallel(MulticastProcessor.java:827)
             at org.apache.camel.processor.MulticastProcessor.access$200(MulticastProcessor.java:85)
             at org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:320)
             at org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:305)
             at java.util.concurrent.FutureTask.run(FutureTask.java:266)
             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
             at java.lang.Thread.run(Thread.java:745)
      

      The second job should not be created because the -#2 parameter in the lpr command already schedules the desired number of copies.

        Attachments

          Activity

            People

            • Assignee:
              dmvolod Dmitry Volodin
              Reporter:
              rvanderhallen Robin Vanderhallen
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: