Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. package com.mgyongyosi.rabbitmq.test.routes;
  2.  
  3. import org.apache.camel.builder.RouteBuilder;
  4. import org.apache.camel.component.rabbitmq.RabbitMQConstants;
  5. import org.springframework.stereotype.Component;
  6.  
  7. @Component
  8. public class RabbitMQRequeueRouteBuilder extends RouteBuilder {
  9.  
  10. @Override
  11. public void configure() throws Exception {
  12. // @formatter:off
  13.  
  14. from("rabbitmq://localhost:5672/first?queue=test&concurrentConsumers=10&username=user&password=bitnami&prefetchSize=1&autoAck=false&autoDelete=false")
  15. .onException(NotReadyException.class)
  16. .log("Error for ${body}! Requeue")
  17. .asyncDelayedRedelivery().redeliveryDelay(5000) // wait 5 secs to redeliver and requeue if the redeliver fails
  18. .maximumRedeliveries(1)
  19. .setHeader(RabbitMQConstants.REQUEUE, constant(true))
  20. .handled(true)
  21. .setFaultBody(constant(true))
  22. .end()
  23. .convertBodyTo(Integer.class)
  24. .log("Received: ${body}")
  25. .process((e) -> {
  26. int num = e.getIn().getBody(Integer.class);
  27. // Throw exception if the number is even
  28. if(num % 2 == 0) {
  29. throw new NotReadyException(); // create a new Exception and throw it if the status is not ready
  30. }
  31. })
  32. .log("Not even number processed successfully: ${body}");
  33.  
  34.  
  35. // @formatter:on
  36. }
  37.  
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement