Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1. Camel 2.4.0 release (currently 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}
{div}

h2. New and Noteworthy

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

* Camel-bindy now supports Fixed-Length format message with padding, alignment (Left or Right)
* Added option {{useOriginalBody}} to [OnCompletion]
* Fixed issue when using mockito for testing when it uses CGLib proxies
* Fixed issue with {{@Consume}} not running in an unit of work to ensure callbacks is invoked when its done
* [Routing Slip] takes the expression parameter as [Recipient List] does, and you can also
* The security context can be passed the camel-cxf to other camel components.
* {{ManagementAgent}} settings can now be set using setters from Java, instead of having to use JVM system properties. See tip in [Camel JMX] wiki page.
* Fixed problem with using [Quartz] in OSGi and having Camel applications being hot-deployed which potentially could cause [Quartz] to stop scheduling in applications which haven't been stopped.
* [Resequencer] in batch mode has two new options {{allowDuplicates}} and {{reverse}} which allows you to use it for re-ordering messages from [JMS] queues based on {{JMSPriority}}
* Tighten up the {{ProducerTemplate}} API a bit, see more details in the section _Important changes to consider when upgrading_.
* Add ability to configure [Bindy] to remove whitespace when binding Integer positions
* Manually started routes is now also graceful shutdown by Camel
* Added new [{{<contextScan>}}|Spring] to scan the [Registry] for {{RouteBuilder}} instances, just as scanning the classpath etc.
* Improved and fixes some issues with the [FTP|FTP2] component.
* Improved and fixed some issues using {{MultiPartForm}} with [Jetty].
* The *camel-spring* module now supports OSGi out of box, which renders *camel-osgi* as *@deprecated*.
* Fixed issue using [RouteContextRef|Configuring Camel] with multiple [CamelContext] from the same Spring ApplicationContext.
* Fixed a potential dead-lock when using [Aggregator|Aggregator2] with timeout completion set.
* [HTTP] now better supports sending binary files.

h3. New [Enterprise Integration Patterns]

h3. New [Components]

* [EJB] to access [EJB] beans in a similar way as with the [Bean] component
* [Class] to invoke beans defined using the fully qualified class name

h3. New DSL

h3. New Annotations

* {{@RoutingSlip}}

h3. New [Data Formats|Data Format]

h3. New [Languages]

h3. New [Examples]

h3. New [Tutorials]

h2. API breaking

[Routing Slip] now requires using [Expression] to specify the routing slip header, the XML DSL of [Routing Slip] is broken.
{code:xml}
    <route>
       <from uri="direct:a"/>
       <!--NOTE from Camel 2.4.0, you need to specify the expression element inside of the routingSlip element -->
       <routingSlip ignoreInvalidEndpoints="true">
           <header>myHeader</header>
       </routingSlip>
    </route>
{code}

h2. Known Issues

The [Tracer] may not output all details for some situations such as when using {{onCompletion}} or {{intercept}} etc.

Not all [Examples] have ANT build.xml files to run the example using ANT.

h2. Important changes to consider when upgrading

{{IntrospectionSupport}} has been improved to be consistent for {{getProperty}} and {{getProperties}}. Also {{getProperties}} now find all relevant properties. This will often only be relevant for Camel end users who build their own components any may use {{IntrospectionSupport}}.

The {{ProducerTemplate}} have been tighten up a bit. All {{send/request -body}} methods will now throw a {{CamelExecutionException}} with the cause wrapped. This ensures its consistent. However the {{send/request}} methods (which returns an {{Exchange}}) will *not* throw an exception on failure. The caused exception is stored on the returned {{Exchange}} which you can access using the {{getException}} method.

The [{{ftps}}|FTP2] is now using secure data channel also when transferring files. There has been added some options which you can use to control the behavior and turn it off if you want the old behavior (only secure login).

The default port from [{{ftps}}|FTP2] has been changed from 2222 to 21. 

h2. Getting the Distributions

h3. Binary Distributions

|| Description || Download Link || PGP Signature file of download ||
| Windows Distribution | [apache-camel-2.4.0.zip|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.4.0/apache-camel-2.4.0.zip] | [apache-camel-2.4.0.zip.asc|http://www.apache.org/dist/activemq/apache-camel/2.4.0/apache-camel-2.4.0.zip.asc] |
| Unix/Linux/Cygwin Distribution | [apache-camel-2.4.0.tar.gz|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.4.0/apache-camel-2.4.0.tar.gz] | [apache-camel-2.4.0.tar.gz.asc|http://www.apache.org/dist/activemq/apache-camel/2.4.0/apache-camel-2.4.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.4.0-src.zip|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.4.0/apache-camel-2.4.0-src.zip] | [apache-camel-2.4.0-src.zip.asc|http://www.apache.org/dist/activemq/apache-camel/2.4.0/apache-camel-2.4.0-src.zip.asc] |

| Source for Unix/Linux/Cygwin | [apache-camel-2.4.0-src.tar.gz|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.4.0/apache-camel-2.4.0-src.tar.gz] | [apache-camel-2.4.0-src.tar.gz.asc|http://www.apache.org/dist/activemq/apache-camel/2.4.0/apache-camel-2.4.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.4.0</version>
</dependency>
{code}

h3. SVN Tag Checkout

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

h2. Changelog

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