You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/11/09 18:22:34 UTC
svn commit: r1407548 -
/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesFastTest.java
Author: davsclaus
Date: Fri Nov 9 17:22:34 2012
New Revision: 1407548
URL: http://svn.apache.org/viewvc?rev=1407548&view=rev
Log:
Added test based on user forum issue
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesFastTest.java
- copied, changed from r1407546, camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesTest.java
Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesFastTest.java (from r1407546, camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesFastTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesFastTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesTest.java&r1=1407546&r2=1407548&rev=1407548&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/stress/FileProducerAppendManyMessagesFastTest.java Fri Nov 9 17:22:34 2012
@@ -18,15 +18,18 @@ package org.apache.camel.component.file.
import java.io.File;
import java.io.FileOutputStream;
+import java.io.OutputStream;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
/**
*
*/
-public class FileProducerAppendManyMessagesTest extends ContextTestSupport {
+public class FileProducerAppendManyMessagesFastTest extends ContextTestSupport {
private boolean enabled;
@@ -38,6 +41,8 @@ public class FileProducerAppendManyMessa
deleteDirectory("target/big");
createDirectory("target/big");
+ deleteDirectory("target/out");
+ createDirectory("target/out");
// create a big file
File file = new File("target/big/data.txt");
@@ -69,10 +74,34 @@ public class FileProducerAppendManyMessa
@Override
public void configure() throws Exception {
from("file:target/big")
+ .process(new Processor() {
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ // store a output stream we use for writing
+ FileOutputStream fos = new FileOutputStream("target/out/also-big.txt", true);
+ exchange.setProperty("myStream", fos);
+ }
+ })
.split(body().tokenize(LS)).streaming()
.to("log:processing?groupSize=1000")
- .to("file:target/out/also-big.txt?fileExist=Append")
+ .process(new Processor() {
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ OutputStream fos = exchange.getProperty("myStream", OutputStream.class);
+ byte[] data = exchange.getIn().getBody(byte[].class);
+ fos.write(data);
+ fos.write(LS.getBytes());
+ }
+ })
.end()
+ .process(new Processor() {
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ OutputStream fos = exchange.getProperty("myStream", OutputStream.class);
+ fos.close();
+ exchange.removeProperty("myStream");
+ }
+ })
.to("mock:done");
}
};