Reputation: 12221
This one should be simple but for the life of me I cannot figure out how to get it running. What I want to do is read files from a folder and send them to a printer.
So I had a look at the documentation for the printer component in Camel and it seemed straight forward.
I produced the following DSL route:
<camelContext trace="false" id="blueprintContext" xmlns="http://camel.apache.org/schema/blueprint">
<route id="printSpoolRoute">
<from uri="file:d:/printspool?delay=1000&move=.done/printed/${date:now:yyyyMMdd}/${file:onlyname.noext}_DONE_${date:now:yyyyMMddHHmmss}.${file:name.ext}&readLock=changed""/>
<to uri="lpr:localhost/default?flavor=DocFlavor.INPUT_STREAM&mimeType=AUTOSENSE&mediaSize=iso-a4"/>
</route>
</camelContext>
When I start it up I get the following exception:
[ Blueprint Extender: 1] BlueprintCamelContext ERROR Error occurred during starting Camel: CamelContext(blueprintContext) due Failed to create Producer for endpoint: Endpoint[lpr://localhost/default?flavor=DocFlavor.INPUT_STREAM&mediaSize=iso-a4&mimeType=AUTOSENSE]. Reason: java.lang.NullPointerException
org.apache.camel.FailedToCreateProducerException: Failed to create Producer for endpoint: Endpoint[lpr://localhost/default?flavor=DocFlavor.INPUT_STREAM&mediaSize=iso-a4&mimeType=AUTOSENSE]. Reason: java.lang.NullPointerException
If the exception had more detail I might be able to look for something so I suspect I made a mistake in the URI of the printing producer.
While I am looking at the URI of the printer producer I just wanted to check if my understanding of the URI is correct when using a network printer.
Let assume I want to produce documents on a network printer connected to a server call SRV-07 with a name of HP LaserJet 4104 will the following URI be correct:
<to uri="lpr:SRV-07/HP LaserJet 4104?flavor=DocFlavor.INPUT_STREAM&mimeType=AUTOSENSE&mediaSize=iso-a4"/>
I am worried about dashes and spaces in the name and someone that has worked with this component before could shed some light here.
Upvotes: 0
Views: 1058
Reputation: 12221
Right leaving this here for reference.
Answer is that the mediaSize
parameter must be specified according to the documentation found at this link. I had the parameter as iso-a4
instead of ISO_A4
. Maybe the camel developers could give a little more descriptive exception here.
Also the question about the URI for network printers does work as I have specified.
Upvotes: 1