package org.myeslib.example.jdbi.routes;
import javax.inject.Inject;
import lombok.RequiredArgsConstructor;
import org.apache.camel.builder.RouteBuilder;
@RequiredArgsConstructor(onConstructor=@_(@Inject))
public class JdbiConsumeCommandsRoute extends RouteBuilder {
final String commandsDestinationUri;
final InventoryItemCmdProcessor inventoryItemCmdProcessor;
@Override
public void configure() throws Exception {
// errorHandler(deadLetterChannel("direct:dead-letter-channel")
// .maximumRedeliveries(3).redeliveryDelay(5000));
// TODO idempotent repo for commands
from(commandsDestinationUri)
.routeId("handle-inventory-item-command")
.setHeader("id", simple("${body.getId()}"))
.process(inventoryItemCmdProcessor);
from("direct:dead-letter-channel")
.routeId("direct:dead-letter-channel")
.log("error !!");
}
}