Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1. Camel 2.1.0 release (Work in Progress)

{div:style=padding-right:20px;float:left;margin-left:-20px;}
!http://camel.apache.org/download.data/camel-box-v1.0-150x200.png!
{div}
{div:style=min-height:200px}

h2. New and Noteworthy

Welcome to the 2.1.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)

* Pluggable API for Management allowing 3rd party to manage Camel.
** Use {{org.apache.camel.spi.ManagementStrategy}} to plugin 3rd party adapter
** Fine grained events notifications is now being emitted using {{org.apache.camel.spi.EventNotifier}}
** Events being fired can be created using a pluggable factory using {{org.apache.camel.spi.EventFactory}}
** Camel now supports using multiple {{org.apache.camel.spi.LifecycleStrategy}} strategies, that also allows 3rd party to more easily integrate into Camel.
* Overhaul of default [JMX management|Camel JMX] in Camel to be much improved with more attributes, mbeans, operations, statistics, and route timing working as well.
** And yes you can now start/stop routes and individual consumers and producers
** And some special processors such as [Delayer] and [Throttler] can be managed to change their delay/throttle values
** You can dynamic manage [tracing|Tracer] even for already running applications
** [Error handling in Camel] is now also manageable so you for example can change the redelivery policies.
** [JMS] consumers being restarted will pickup any configuration changes on JMS endpoints such as changing {{concurrentConsumers}}. And yes its fully managed using JMX. 
** And much more...
* Improved [Irc], [Xmpp], [Mina], [Freemarker] and [Velocity] components with much thanks to the Camel community
* [Splitter] and [Multicast] EIP patterns now support the option {{stopOnException}} to stop continue processing at first exception occurred. See their documentation for more details.
* [Error handlers|Error handling in Camel] is restricted to be configured on camel context and/or routes only. 
* Camel is now more robust and fault tolerant when shutting down.
* Fixed a race condition when shutting down Camel with [JMS] consumers that under some circumstances caused it to appear to hang 
* Added pluggable {{org.apache.camel.spi.InflightRepository}} with a basic implementation that can help with graceful shutdown as you can now see how many exchanges are currently in progress. 
* [JmsEndpoint|JMS] is now singleton
* Individual routes can be pre configured to not auto startup when Camel starts: {{autoStartup=false}} in XML DSL and {{noAutoStartup()}} in Java DSL.
* Camel is more robust on startup as route inputs are deferred to be started at the very end, ensuring all routes services have been pre started and thus ready when consumers is started.
* Improved unit test coverage, now having 3500+ unit tests in total.
* Fixed {{ConsumerTemplate}} not working when it was dependency injected with {{@EndpointInjected}} in a [Bean].

h3. New [Enterprise Integration Patterns]

h3. New [Components]
* [camel-printer|Printer]
* [camel-cache|Cache]

h3. New DSL

h3. New Annotations

h3. New [Data Formats|Data Format]

h3. New [Languages]

h3. New [Examples]
* [Management Example]

h2. API breaking

h3. DSL changes

In the Java DSL the {{.errorHandler}} is now restricted to be configured on camel context and/or routes only. That means for configuring on routes you have to set it directly after the {{.from}} DSL.

In Spring DSL the {{errorHandlerRef}} attribute is now only visible on the {{<camelContext>}} and {{<route>}} XML tags.

h3. New .jar dependencies

camel-core now depends on commons-management.jar to facilitate the new overhauled management.
This project is hosted at [FuseForge|http://commonman.fusesource.org/]

This .jar can be retrieved from the maven central repo at: http://repo1.maven.org/maven2/org/fusesource/commonman/commons-management/1.0/
The maven dependency details are:
{code}
 <groupId>org.fusesource.commonman</groupId>
 <artifactId>commons-management</artifactId>
 <version>1.0</version>
{code}

h3. Core API

h4. CamelContext
CamelContext have renamed the method {{getLifecycleStrategy}} to {{getLifecycleStrategies}} and now returns a List.

h4. Management
The API in {{org.apache.camel.spi.ManagementNamingStrategy}} had its methods renaming and method signature adjusted to accommodate the big theme for Camel which was overhaul of management (JMX).

h3. Client API

h3. Removed classes
* {{org.apache.camel.processor.CompositeProcessor}} was never used
* {{org.apache.camel.impl.ProducerTemplateProcessor}} was never used
* {{org.apache.camel.impl.NoPolicy}} was never used
* {{org.apache.camel.spring.handler.LazyLoadingBeanDefinitionParser}} was never used
* {{org.apache.camel.spring.handler.ScriptDefinitionParser}} was never used

h2. Known Issues
See known issues from previous releases.

h2. Important changes to consider when upgrading

h2. Getting the Distributions

h3. Binary Distributions

|| Description || Download Link || PGP Signature file of download ||
| Windows Distribution | [apache-camel-2.1.0.zip|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.1.0/apache-camel-2.1.0.zip] | [apache-camel-2.1.0.zip.asc|http://www.apache.org/dist/activemq/apache-camel/2.1.0/apache-camel-2.1.0.zip.asc] |
| Unix/Linux/Cygwin Distribution | [apache-camel-2.1.0.tar.gz|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.1.0/apache-camel-2.1.0.tar.gz] | [apache-camel-2.1.0.tar.gz.asc|http://www.apache.org/dist/activemq/apache-camel/2.1.0/apache-camel-2.1.0.tar.gz.asc] |
{info:title=The above URLs use redirection}
The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using [FireFox|http://www.mozilla.com/en-US/firefox/]
{info}

h3. Source Distributions

|| Description || Download Link || PGP Signature file of download ||
| Source for Windows | [apache-camel-2.1.0-src.zip|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.1.0/apache-camel-2.1.0-src.zip] | [apache-camel-2.1.0-src.zip.asc|http://www.apache.org/dist/activemq/apache-camel/2.1.0/apache-camel-2.1.0-src.zip.asc] |

| Source for Unix/Linux/Cygwin | [apache-camel-2.1.0-src.tar.gz|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.1.0/apache-camel-2.1.0-src.tar.gz] | [apache-camel-2.1.0-src.tar.gz.asc|http://www.apache.org/dist/activemq/apache-camel/2.1.0/apache-camel-2.1.0-src.tar.gz.asc] |

h3. Getting the Binaries using Maven 2

To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM|http://maven.apache.org/guides/introduction/introduction-to-the-pom.html] is:
{code:xml}
<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-core</artifactId>
  <version>2.1.0</version>
</dependency>
{code}

h3. SVN Tag Checkout

{code}
svn co http://svn.apache.org/repos/asf/camel/tags/camel-2.1.0
{code}

h2. Changelog

For a more detailed view of new features and bug fixes, see the:
TODO: Fix for 2.1.0
* [release notes for 2.1.0|http://issues.apache.org/activemq/secure/ReleaseNote.jspa?projectId=11020&styleName=Html&version=11900]