By implementing 'org.apache.camel.spi.UuidGenerator'
interface, you can create custom UUID generator.
Step 1: Create
Custom UUID generator.
public class MyUUIDGenerator implements UuidGenerator {
AtomicInteger
atomicInt = new AtomicInteger(1);
@Override
public
String generateUuid() {
return
String.valueOf(atomicInt.getAndIncrement());
}
}
Step 2: Register
custom UUID generator to context.
CamelContext context = new DefaultCamelContext();
context.setUuidGenerator(new MyUUIDGenerator());
Find the below working application.
MyUUIDGenerator.java
package com.sample.app.generators; import java.util.concurrent.atomic.AtomicInteger; import org.apache.camel.spi.UuidGenerator; public class MyUUIDGenerator implements UuidGenerator { AtomicInteger atomicInt = new AtomicInteger(1); @Override public String generateUuid() { return String.valueOf(atomicInt.getAndIncrement()); } }
Application.java
package com.sample.app; import java.util.concurrent.TimeUnit; import org.apache.camel.CamelContext; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; import com.sample.app.generators.MyUUIDGenerator; public class Application { public static class FileCopyRoute extends RouteBuilder { @Override public void configure() throws Exception { from("file:C:\\Users\\Public\\demo?noop=true").process(new Processor() { @Override public void process(Exchange exchange) throws Exception { String exchangeId = exchange.getExchangeId(); String messageId = exchange.getIn().getMessageId(); System.out.println("Exchange Id : " + exchangeId); System.out.println("Message Id : " + messageId); } }).to("file:C:\\Users\\Public\\demoCopy"); } } public static void main(String args[]) throws Exception { CamelContext context = new DefaultCamelContext(); context.setUuidGenerator(new MyUUIDGenerator()); context.addRoutes(new FileCopyRoute()); context.start(); TimeUnit.MINUTES.sleep(1); context.stop(); } }
Run Application.java, you can see below messages in
console.
Exchange Id : 1
Message Id : 2
No comments:
Post a Comment