Apache Camel :- Is built on top of enterprise integration patterns which does all type heavy lifting working and focusing developers on code logic.It is mainly involved in integration of different services.Like moving a file from location to another by transforming/enriching content of file.
Pre-requisite :- Down load camel jars and have them in build path.
Step1 :- Create a plain java project
Main application :- Where we create camel context and add routes
package com.java.firstCamel;
import org.apache.camel.*;
import org.apache.camel.impl.DefaultCamelContext;
public class MainApp {
public static void main(String args[]) {
RouterBuilder routerBuilder = new RouterBuilder();
CamelContext camelContext = new DefaultCamelContext();
try {
camelContext.addRoutes(routerBuilder);
camelContext.start();
Thread.sleep(5 * 60 * 1000);
camelContext.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Route Builder :- Core logic for route builder to move file form one place to another.
package com.java.firstCamel;
import org.apache.camel.builder.RouteBuilder;
public class RouterBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
// TODO Auto-generated method stub
from("file:/C:/Location1/krishna").process(new LogProcessor()).bean(new Transformer(), "transfromMessage")
.to("file:/C:/Location12");
}
}
package com.java.firstCamel;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
public class LogProcessor implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
// TODO Auto-generated method stub
System.out.println("Executing log processor :- " + exchange.getIn().getBody(String.class));
}
}
Pre-requisite :- Down load camel jars and have them in build path.
Step1 :- Create a plain java project
Main application :- Where we create camel context and add routes
package com.java.firstCamel;
import org.apache.camel.*;
import org.apache.camel.impl.DefaultCamelContext;
public class MainApp {
public static void main(String args[]) {
RouterBuilder routerBuilder = new RouterBuilder();
CamelContext camelContext = new DefaultCamelContext();
try {
camelContext.addRoutes(routerBuilder);
camelContext.start();
Thread.sleep(5 * 60 * 1000);
camelContext.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Route Builder :- Core logic for route builder to move file form one place to another.
package com.java.firstCamel;
import org.apache.camel.builder.RouteBuilder;
public class RouterBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
// TODO Auto-generated method stub
from("file:/C:/Location1/krishna").process(new LogProcessor()).bean(new Transformer(), "transfromMessage")
.to("file:/C:/Location12");
}
}
Transformer :- Core logic for transforming or modifying in coming data.
package com.java.firstCamel;
public class Transformer {
public String transfromMessage(String message) {
System.out.println("Tranformation executed");
return message.toUpperCase();
}
}
LogProcessor :- To log and verify the result is proper or not
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
public class LogProcessor implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
// TODO Auto-generated method stub
System.out.println("Executing log processor :- " + exchange.getIn().getBody(String.class));
}
}
No comments:
Post a Comment