You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Stream Component

The stream: component provides access to the System.in, System.out and System.err streams together with allowing streaming of output to a file.
Notice that some of the stream types has been @deprecated (file and url). These types are supported by their respective components.

URI format

stream:in
stream:out
stream:err
stream:file?file=/foo/bar.txt  (@deprecated)
stream:url (@deprecated) 
stream:header

If the stream:header option is specified then the stream header is used to find the stream to write to. This option is only available for StreamProducer.

Options

Name

Default Value

Description

file

null

When using the stream:file notation this specifies the file name to stream to/from. @deprecated.

delay

0

Initial delay in millis before consuming or producing the stream.

encoding

JVM Default

As of 1.4 or later you can configure the encoding (is a charset name) to use text based streams (eg. message body is a String object). If not provided Camel will use the JVM default Charset.

Message content

The stream: component supports either String or byte[] for writing to streams. Just add to the message.in.body either a Stirng or byte[] content.
The special stream:header URI is used for custom output streams. Just add a java.io.OutputStream to message.in.header in the key header.
See samples for an example.

Samples

In this sample we output to System.out the content from the message when its put on the direct:in queue.

Error formatting macro: snippet: java.lang.NullPointerException

This sample demonstrates how the header type can be used to determine which stream to use. In the sample we use our own output stream (MyOutputStream).

Error formatting macro: snippet: java.lang.NullPointerException
  • No labels