Camel 2.9.0 release (currently in progress)
New and Noteworthy
Welcome to the 2.9.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)
- Introduced
ThreadPoolFactory
with a simpler API for 3rd party SPI. See Threading Model for more details. - Fixed issue with Properties component may cache duplicates and thus take up unnecessary memory in the cache
- Fixed issue with Tracer out exchanges when using Asynchronous Processing by the Asynchronous Routing Engine
- Fixed issue with Components or Endpoints not being registered in JMX when using POJO Producing, POJO Consuming or other Camel bean annotations.
- The Bean component now supports specifying parameter values to use directly in the method syntax. See more details at Bean Binding. For example to invoke a bean with body as first parameter, and a boolean true as second you can now do:
.to("bean:myBean?method=myMethod(body, true)")
- Fixed issue which could cause
DefaultUnitOfWork
to throw ajava.util.EmptyStackException
under heavy load - Improved labels of all model definitions which appear in Tracer output
- Fixed issue with MDC logging not remembering old values, for example when using a
ProducerTemplate
from within routes to send new messages. - Reduced dependency for
camel-core
to not requirecommons-management
JAR anymore - Added blueprint support of cxfrs endpoint.
- Camel no longer depend on using Spring JARs for having Camel enlisted in JMX.
- Introduced a set of Camel JMX annotations in
org.apache.camel.management
that can be used to easily instrument Camel Components, EIPs, custom Processors, Beans etc. for being managed in JMX. Using the Spring JMX annotations is still supported (you would needcamel-spring
on the classpath). - Fixed issue when invoking a Bean and that bean is using a
@Bean
in its method signature, causing the@Bean
to not invoke its intended method - Updated the Aggregator2 to allow for manually completing all exchange groups by sending a message containing the header
Exchange.AGGREGATION_COMPLETE_ALL_GROUPS
set to true. - Fixed issue with Bindy unmarshalling in key value mode when using @OneToMany bindings, may cause inconsistency for multiple threaded unmarshalling
- Removed dependency on Spring JARs in the following components: Validation, XSLT, Velocity, FreeMarker, Flatpack, StringTemplate, iBATIS, Jing, MSV, XQuery, and Test
- Using pollEnrich with a file/ftp endpoint will now only poll on demand, beforehand the polling could be started when the route started.
- Added option
ReplyToType
on JMS to allow people to control which kind of reply queue they are using (temporary, shared, exclusive). Added support for exclusive reply queues. Mind they have some limitations, by which the shared dont have. So use exclusive with a bit caution. - Added
wereSentTo
to NotifyBuilder allowing to set expectation that Exchanges was sent to the given endpoint uri. - Bindy in CSV format now uses trim, clip, and length attributes on @DataField when marshalling.
- Improved managed browsable endpoints (JMX) so you can browse all/range messages and whether to include message body or not.
New Enterprise Integration Patterns
New Components
DSL Changes
New Annotations
New Data Formats
New Languages
New Examples
New Tutorials
API breaking
- The class
ExecutorServiceStrategy
is @deprecated in favor of a newExecutorServiceManager
class, which have a slightly reduced and improved API. See Threading Model for more details. - The
org.apache.camel.component.ResourceBasedComponent
class fromcamel-spring
has been deleted. UseDefaultComponent
instead. - The
org.apache.camel.component.ResourceBasedEndpoint
class fromcamel-spring
has been moved tocamel-core
, and its dependency on Spring JARs has been removed. Use the new APIs onResourceBasedEndpoint
to load resources. - Changed the method
beforePoll
slightly in theorg.apache.camel.PollingConsumerPollingStrategy
class.
Known Issues
- The Tracer may not output all details for some situations such as when using
onCompletion
orintercept
etc. - The project cannot fully build the site using Maven (eg running
"mvn site"
. There is no plan to make this work as the project do not use the maven site. - The source code cannot fully build with JDK 7
Dependency Upgrades
- Jackrabbit 1.5.5 to 1.6.4
- Groovy 1.8.0 to 1.8.1
- Smack 3.1.0 to 3.2.0
- XStream 1.3.1 to 1.4
Important changes to consider when upgrading
- Removed ANT support for the Examples
- The XSLT, and Validation components has been moved from
camel-spring
tocamel-core
as they no longer depend upon Spring JARs
Notice
- The
camel-example-axis
has been removed - The
commons-management
JAR is no longer required as dependency. - Camel no longer depend on using Spring JARs for having Camel enlisted in JMX.
Getting the Distributions
Binary Distributions
Description |
Download Link |
PGP Signature file of download |
---|---|---|
Windows Distribution |
||
Unix/Linux/Cygwin Distribution |
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 |
Source for Unix/Linux/Cygwin |
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.9.0</version> </dependency>
SVN Tag Checkout
svn co http://svn.apache.org/repos/asf/camel/tags/camel-2.9.0
Changelog
For a more detailed view of new features and bug fixes, see the:
TODO: Update link