Guest User

Untitled

a guest
May 22nd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. package com.connorpenhale.examples.scala
  2.  
  3. import org.apache.camel.CamelContext
  4. import org.apache.camel.Exchange
  5. import org.apache.camel.scala.dsl.builder.ScalaRouteBuilder
  6. import org.apache.camel.processor.aggregate.GroupedExchangeAggregationStrategy
  7.  
  8. /**
  9. * A Camel Router using the Scala DSL
  10. */
  11. class MyRouteBuilder(override val context: CamelContext) extends ScalaRouteBuilder(context) {
  12.  
  13. "file://./bigFiles/?fileName=100TBFile.txt" ==> {
  14. split(_.in[String].toArray).parallelProcessing {
  15. process { e =>
  16. if (e.getIn.getBody(classOf[String]).matches("\\ ")) {
  17. e.getIn.setBody("space")
  18. }
  19. if (e.getIn.getBody(classOf[String]).matches("\\n")) {
  20. e.getIn.setBody("newline")
  21. }
  22. if (e.getIn.getBody(classOf[String]).matches("\\r")) {
  23. e.getIn.setBody("return")
  24. }
  25. }
  26. setHeader("character", e => e.getIn.getBody(classOf[String]))
  27. aggregate(e => e.getIn.getHeader("character", classOf[String]), new GroupedExchangeAggregationStrategy()).completionTimeout(60000) {
  28. process { e =>
  29. val character = e.getIn.getBody(classOf[List[Exchange]])(0).getIn.getBody(classOf[String])
  30. e.getIn.setHeader("character", character)
  31. }
  32. log("Aggregate ${in.header.character} ${in.body.size}")
  33. }
  34. }
  35. }
  36.  
  37. }
Add Comment
Please, Sign In to add comment