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");
             }
         };


Reply via email to