[CONF] Apache Camel: Camel 2.0 Design (page edited)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[CONF] Apache Camel: Camel 2.0 Design (page edited)

Dhiraj Bokde (Confluence)

Camel 2.0 Design has been edited by Claus Ibsen (Jan 20, 2009).

(View changes)


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:
  • 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)