camel file copy example

File copy example in camel with simple steps.


In our first example we will learn how can we copy file from one location to other location using camel.

  • In eclipse go to MyFirstCamelProject that we created in earlier page and right click on src/main/java to create package.New -> package



  • Give any name for example com.preparationforinterview and click on Finish



  • Right click on package and create a java class for example FileCopyExample.



  • Right click on package and create one more java class for example Executor.

  • Create two folder one with name input and other as output.At the end we will get following structure



  • Create any file in input folder.I created text file with name Hello.

  • Add following dependency in pom.xml file.you can use any latest version.

  •  	
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>MyFirstCamelProject</groupId>
    	<artifactId>MyFirstCamelProject</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<dependencies>
    		<dependency>
    			<groupId>org.apache.camel</groupId>
    			<artifactId>camel-core</artifactId>
    			<version>2.13.0</version>
    		</dependency>
    	</dependencies>
    </project>
    
  • Run mvn:install from command prompt or if you are using Eclipse right click on pom.xml and run mvn install.It will download camel jars

  • Copy below code in FileCopyExample.

  •  	
    	package com.preparationforinterview;
    
    	import org.apache.camel.builder.RouteBuilder;
    	public class FileCopyExample extends RouteBuilder {
    
    	@Override
    	public void configure() throws Exception {
    		from("file:input?noop=true").to(
    				"file:output");
    	}
    	}
    

    Explain

    To create a route in camel we need to extend RouteBuilder class and override configure method.In configure method we define our route.In above example we can read it as from input folder take file and send it to output folder.Here file: is called endpoint.

    Note:

    Here we gave noop=true as parameter. It is optional parameter.Using that we can instruct camel to keep that input file as is.If we don't use this option then file will be moved, it means cut from input and paste in output

  • Copy below code in Executor.

  •  	
    	package com.preparationforinterview;
    
    	import org.apache.camel.CamelContext;
    	import org.apache.camel.impl.DefaultCamelContext;
    	public class Executor {
    
    	public static void main(String args[]) throws Exception {
    		CamelContext ctx = new DefaultCamelContext();
    		ctx.addRoutes(new FileCopyExample());
    		ctx.start();
    		Thread.sleep(1000);
    		ctx.stop();
    	}
    	}
    

    Explain

    First we need to create CamelContext. It has many implementation but we are using DefaultCamelContext.After CamelContext is created we add route.Its like registry of route CamelContext, till that part we have just configured route in CamelContext but until and unless we start CamelContext it will not execute route.We kept Thread.sleep(1000) so that camel gets enough time to copy file from input to output folder.

    To check the output right click on Executor.java and run it.It will copy file in output folder from input folder
    To run the program from command prompt,open command prompt and go to project location and run below command.
    mvn compile exec:java -Dexec.mainClass=com.preparationforinterview.Executor

Download source code

Camel File Copy Example



Visit Others Links

Camel Introduction
Camel Setup
File Copy Example Using Camel
File Copy Example In Camel Using Spring
JMS Message Transfer Example Using Camel
JMS Message Transfer Example In Camel Using Spring
Processor In Camel
Object to JSON Transfer Example Using Spring In Camel
Camel With Bean Injection Example Using Spring DSL
Camel With Bean Injection Registry Example Using Java DSL
Camel Bean Parameter Binding Example Using Java DSL
Camel Error Handling With Redelivery Example Using Java DSL
Camel Exception Handling With Example Using Java DSL
Camel JUnit Test With Example Using Java DSL
Camel JUnit Test With Example Using Spring DSL
Camel Unit Test With Mock Component Example
Camel With Stream Component Example
Camel In-Memory Messaging Example Using Direct
Camel With Timer And Quartz Example
Camel Aggregator EIP Example
Camel Splitter EIP Example
Camel Routing Slip EIP Example
Camel Dynamic Router EIP Example
Camel Load Balancer EIP Example
Top Camel Interview Question
© 2019 PreparationForInterview.com