You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

Camel 2.0 Design

This wiki page lists the overall goals of the 2.0 release of Camel. For a detailed view see the Camel 2.0 JIRA roadmap

Main features

  • default to using transacted mode along with transacted error handlers CAMEL-866
  • improve smart completion of Java & XML DSLs
  • make more endpoints easily configurable as beans in Spring XML CAMEL-506
  • improve the DSL
    • get rid of consumer. options in favor of the new scheduler DONE
  • solving MEP issues DONE
  • using Camel${component}${name} pattern as header keys instead of using package names with dots that isn't likely to be transported by JMS or other transport types
  • OSGi sample and wiki documentation DONE
  • ServiceMix and Camel sample and wiki documentation DONE

Refactoring of code and internal API changes

  • remove the use of generics on Component, Exchange, Producer, Consumer to reduce the need to copy exchanges CAMEL-872 CAMEL-507
  • enhance the Expression/Predicate APIs to allow the required type to be passed in
  • remove @deprecated code DONE
  • improvement of discovery of class resources in OSGi bundles CAMEL-775 DONE
  • cleanup Pipeline, BeanInfo (the algorithm to select right method to invoke by bean component)
  • UUID generator to be file friendly (eg zapping / and : chars)
  • Enhance functionality of Quartz component to cover non-volatile jobs, clustering (including connecting to an existing job store). Look into using Spring's Quartz support as a foundation (paricularly SchedulerFactoryBean).
  • Dealing with streams and minimizing copy performance (jstrachan)

Nice to haves

  • self document the custom headers used in the endpoints/components CAMEL-228
  • Model objects toString(), label, shortName and description aligned and usable from Tracer/Visual Tooling etc.

Camel 2.1 Design

Main features

  • Much improved OSGi
    • Running ServiceMix 4.0 kernel
    • More documentation and samples
    • Making component/converter discovery use OSGi services when in an OSGi environment
    • All of the bootstrap mechanisms (components, endpoints, converters, registry) should be osgi aware
  • improve the DSL
    • to better support polling and explicit MEPs CAMEL-402 CAMEL-486
    • a new schedule DSL for advanced scheduling of polling that can have builder methods (kinda like BAM) so you can:
      schedule().every(5).minute().from("ftp://xxxx).to("bean:processFtpFile")...
  • Spring 3.0 support
  • Improved JMX
    • Dynamic routing using JMX
    • Pausing consumers using JMX
    • Customization of endpoint options using JMX
    • and a lot more

Camel 2.x Design

  • have nice Spring 2 namespace schemas for different endpoints for nicer IDE completion
  • pluggable DSL (Hadrian)
  • No labels