Author: hadrian
Date: Wed May 16 18:00:11 2012
New Revision: 1339287
URL: http://svn.apache.org/viewvc?rev=1339287&view=rev
Log:
CAMEL-5279. Open file in append mode in camel-stream
Modified:
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamFileTest.java
Modified:
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java?rev=1339287&r1=1339286&r2=1339287&view=diff
==============================================================================
---
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
(original)
+++
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java
Wed May 16 18:00:11 2012
@@ -95,7 +95,7 @@ public class StreamProducer extends Defa
File f = new File(fileName);
// will create a new file if missing or append to existing
f.createNewFile();
- return new FileOutputStream(f);
+ return new FileOutputStream(f, true);
}
private OutputStream resolveStreamFromHeader(Object o, Exchange exchange)
throws CamelExchangeException {
Modified:
camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamFileTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamFileTest.java?rev=1339287&r1=1339286&r2=1339287&view=diff
==============================================================================
---
camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamFileTest.java
(original)
+++
camel/trunk/components/camel-stream/src/test/java/org/apache/camel/component/stream/StreamFileTest.java
Wed May 16 18:00:11 2012
@@ -23,6 +23,7 @@ import org.apache.camel.Consumer;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Before;
@@ -79,4 +80,27 @@ public class StreamFileTest extends Came
}
}
+ @Test
+ public void testFileProducer() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedBodiesReceived("Hadrian", "Camel");
+
+ context.addRoutes(new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("direct:start").routeId("produce")
+
.to("stream:file?fileName=target/stream/StreamFileTest.txt");
+
from("file://target/stream?fileName=StreamFileTest.txt").routeId("consume").autoStartup(false)
+ .split().tokenize("\n").to("mock:result");
+ }
+ });
+ context.start();
+
+ template.sendBody("direct:start", "Hadrian");
+ template.sendBody("direct:start", "Camel");
+
+ context.startRoute("consume");
+ assertMockEndpointsSatisfied();
+ context.stop();
+ }
}
\ No newline at end of file