Q:

Is there a way to make the output file of a stream:file?fileName= dynamic?

Given a simple route like this
route.from("direct:foo")
   .split()
   .tokenize("\n")
   .streaming()
   .to("stream:file?fileName=target/streaming${header.count}.txt&closeOnDone=true");

which I then trigger with this
@Test
public void splitAndStreamToFile() {
    StringBuilder builder = new StringBuilder();
    for(int i = 0; i < 500; i++) {
        builder.append(i);
        builder.append("\n");
    }

    for(int i = 0; i < 10; i++) {
        template.sendBodyAndHeader(builder.toString(), "count", i);
    }

}

I get one big file that contains 10 times 500 lines, where I would have hoped to have 10 files that contain 500 lines each.
In other words, it seems that the fileName in the stream:file endpoint is not dynamic. I am wondering if this is at all possible? My google-fu turned up nothing so far.
EDIT:
With Claus' answer, I got it to work like this:
route.from("direct:foo")
                    .split()
                    .tokenize("\n")
                    .streaming()
                    .recipientList(route.simple("stream:file?fileName=target/streaming${header.count}.txt&closeOnDone=true"));

A:

Its a dynamic to which there is an EIP pattern for: 

http://camel.apache.org/how-to-use-a-dynamic-uri-in-to.html

But it could be a good idea to support the file/simple language on the fileName option as the regular file component does. Fell free to log a JIRA ticket about this improvement.

