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

Compare with Current View Page History

« Previous Version 50 Next »

Camel 2.3.0 release (currently in progress)

Unknown macro: {div}

Unknown macro: {div}

New and Noteworthy

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

  • Overhauled threading model and introducing threadPoolProfile to define profiles for thread pools to have easy configuration.
  • Property placeholders in for example endpoint uris is not natively supported in camel-core which means you no long need to use Spring for that. It works therefore in any environment as its provided out of the box in camel-core.
  • Property placeholders also works in the <CamelContext> when using Spring XML. Basically nearly all places where you enter text the property placeholder is supported.
  • Added ExchangeSentEvent to EventNotifier which contains time taken and is emitted when an Exchange is sent to an Endpoint. This allows end users to easily gather performance stats for Exchange send to endpoints.
  • Added disconnect option to MINA to close Mina session right after usage.
  • Jetty now supports to get the HttpServletRequest and HttpServletResponse from the Message header.
  • XPathBuilder now supports being used without an Exchange which allows you to use it in a custom/generic fashion.
  • XPath now supports using the JVM system property specifying a custom XPathFactory to be used. You can use this to switch from default to use e.g. Saxon.
  • XSLT now supports using <xsl:include> where the files is loaded from classpath, and being able to load relative according to the endpoint configured location. See the wiki page for details.
  • File, FTP added option eagerDeleteTargetFile to control the behavior when using tempFile whether or not to eagerly delete the target file or wait until last moment.
  • Reduced registering producers in JMX to prevent using too much memory and potentially registering short lived producers which didn't bring much value of being managed as well.
  • Upgraded HTTP to use Apache HTTP Client 4.0.1. You may need to migrate if you use special or advanced configuration of HTTP Client.
  • Upgraded Jetty to use Jetty 7.0.1.
  • Individual routes can be Graceful Shutdown at runtime, which allows you to stop the route in a more reliable and gentle way.
  • Total overhaul of the Aggregator EIP, which now has better completion triggers, and supports pluggable repository. For example to use camel-hawtdb as persistent store.
  • Added removeHeaders to remove multiple headers, e.g. use removeHeaders("Camel*") to remove all Camel related headers.
  • Improved the Failover load balancer to support round robin mode and a few other options as well.
  • Fixed issue with Camel not being able to run deployed as a WAR in WebLogic server.
  • Fixed Polling Consumer not working with JMS selector.
  • pollEnrich now handover completions which means you can use the move like options from File or FTP component. For example to enrich with a file and have that file moved when the route completes.
  • Added @Attachments annotation to Bean binding.
  • Simple and Bean language now has a build in OGNL notation which allows you to reference from Map or List structures and as well to invoke methods in a OGNL like notation. See more details at Simple wiki page.
  • camel-jetty supports the multipart/form post out of box.
  • Graceful Shutdown now shut down routes in the reverse order in which they was started. Option shutdownRoutesInReverseOrder can be used to control this behavior.
  • XSLT component now allows you to chose which output type to use with the output option. For example you can now stream directly to a file, for example when transforming very big xml messages.
  • Error Handler can be configure with specialized <errorHandler/> tag to make it easier to configure error handling in Spring XML.
  • Added depends-on attribute to <camelContext/> so you can have other beans created before Camel when using Spring XML.
  • Added org.apache.camel.builder.ProxyBuilder to easier create Camel Proxy in Java / Java DSL.
  • ProducerTemplate and ConsumerTemplate can now be configured with a maximumCacheSize to control how many producers/consumers they can cache.
  • Methods on CamelContext} to create {{ProducerTemplate and ConsumerTemplate now pre starts the templates so they are ready to use asap.

New Enterprise Integration Patterns

New Components

  • camel-nagios for sending passive checks to Nagios
  • properties for using property placeholders to resolve endpoint uris.
  • camel-gae extensions
    • gauth component for implementing OAuth consumers.
    • glogin component for programmatic login to Google App Engine applications from Java clients.
  • camel-hawtdb as persistent store for the Aggregator EIP.
  • camel-netty for working with TCP and UDP protocols using Java NIO based capabilities offered by the JBoss Netty.

New DSL

  • removeHeaders

New Annotations

  • @Attachments

New Data Formats

  • SOAP data format provides basic webservice support without the CXF Stack

New Languages

New Examples

API breaking

The Aggregate has been overhauled and thus you need to migrate you Camel application if you use it.
See the Aggregate wiki page for which options it has you should use.

In MINA the header key MinaConsumer.HEADER_CLOSE_SESSION_WHEN_COMPLETE is moved to MinaConstants.MINA_CLOSE_SESSION_WHEN_COMPLETE

org.apache.camel.spi.PollingConsumerPollStrategy now returns a boolean in the begin method. Use true to accept to begin polling, and false to skip polling at this time.

A new method onInit has been added to org.apache.camel.spi.RoutePolicy.

Added method removeHeaders on the org.apache.camel.Message API.

getExecutorService/setExecutorService have been removed from DefaultComponent and DefaultEndpoint.
You should use CamelContext.getExecutorServiceStrategy() which is the API for creating thread pools in Camel.

Changed Exception to Throwable on the org.apache.camel.spi.EventFactory and the various xxxEvent objects as Camel now catches Throwable on shutdown to ensure a more robust shutdown in case a Throwable was thrown.

Removed unused class org.apache.camel.spi.Provider.

Fixed spelling in @RecipientList parallelProcessing option.

Known Issues

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

Important changes to consider when upgrading

The SEDA endpoint is now by default unbounded in size, where as before they had a default size of 1000.

camel-http has been upgraded to use Apache HTTP Client 4.0.1 from 3.1. These two versions is much different how to configure, so you may have to migrate if you do any special or advanced configuration. Consult the Apache HTTP Client documentation.

camel-jetty has been upgraded to use Jetty 7.0.1 from 6.1.22. These two versions is much different as 7.x is moved to be hosted at Eclipse, which means all it package names has been renamed.

Getting the Distributions

Binary Distributions

Description

Download Link

PGP Signature file of download

Windows Distribution

apache-camel-2.3.0.zip

apache-camel-2.3.0.zip.asc

Unix/Linux/Cygwin Distribution

apache-camel-2.3.0.tar.gz

apache-camel-2.3.0.tar.gz.asc

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

Source Distributions

Description

Download Link

PGP Signature file of download

Source for Windows

apache-camel-2.3.0-src.zip

apache-camel-2.3.0-src.zip.asc

Source for Unix/Linux/Cygwin

apache-camel-2.3.0-src.tar.gz

apache-camel-2.3.0-src.tar.gz.asc

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 is:

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-core</artifactId>
  <version>2.3.0</version>
</dependency>

SVN Tag Checkout

svn co http://svn.apache.org/repos/asf/camel/tags/camel-2.3.0

Changelog

For a more detailed view of new features and bug fixes, see the:
TODO: Fix for 2.3.0

  • No labels