Camel 2.16.0 release (currently in progress)
New and Noteworthy
Welcome to the x.y.z release which approx XXX issues resolved (new features, improvements and bug fixes such as...)
Noteworthy improvements:
- The route models (definition classes) preserve property placeholders, which allows round trip editing, and also prevents showing potential sensitive information
- Added onPrepareFailure option to Dead Letter Channel to allow a custom processor to prepare the Exchange before sending to the dead letter queue.
- MongoDB tailable consumers now allow setting the
readPreference
option. - Using setFaultBody / setFaultHeader behaves similar to setBody / setHeader to preserve existing headers/attachments by setting on existing IN or OUT message.
- Java DSL using choice with end vs endChoice now validates you use them as intended. Any misconfiguration now throws an exception explaining the problem.
- POJO Producing and POJO Consuming lifecycle is now in sync with CamelContext which ensures it works as similar to Camel Routes does. Also the created producer/consumer is stopped when CamelContext is stopping to cleanup properly.
- JMS component now allows configuring concurrentConsumers/maxConcurrentConsumers separately between from(jms) vs to(jms) using request/reply over JMS
- Added SEARCH operation to Elasticsearch component
- The Properties component (property placeholder) now supports an encoding option to allow reading the .properties files using a specific charset such as UTF-8. By default ISO-8859-1 is used (latin1)
- Added
receviveBufferSize
option to the FTP component to make download faster. The size is by default 32kb buffer. - The Aggregator2 EIP now allows an external source using a
AggregateController
to control the aggregator, such as for forcing completing a group or all groups, or query runtime information from the aggregator. A default controller is provided out of the box if none has been configured. - The Aggregator2 now enlists in JMX using a
ManagedAggregateProcessorMBean
which has more information, and also allows using the aggregate controller to control it. - The Aggregator2 now includes more runtime statistics which can be accessed from Java and JMX about number of incoming and completed exchanges, and per different completion triggers.
Fixed the following issues:
- File language now properly supports file extensions having double dots, such as .tar.gz
- Fixed issue with doTry not stopping routing if a fault message was set using setFaultBody within the doTry.
- Fixed Bean language to support end parenthesis in quoted string literals as part of method parameters, and not as end of method signature.
- Fixed FTP2 using
pollEnrich
with disconnect=true and delete=true, would disconnect before deleting the file. Now we disconnect last.
New Enterprise Integration Patterns
New Components
- camel-paho - For MQTT messaging using Eclipse Paho client
New DSL
New Annotations
New Data Formats
- camel-boon - For mapping POJO to/from json
New Languages
New Examples
New Tutorials
API breaking
Known Issues
Dependency upgrades
- MongoDB Java Driver from 2.12.4 to 2.13.0.
- Embed MongoDB test harness from 1.46.4 to 1.47.0.
Important changes to consider when upgrading
- The dumpRoutesAsXml operation now preserve property placeholder used in the route models.
- Using setFaultBody / setFaultHeader behaves similar to setBody / setHeader to preserve existing headers/attachments by setting on existing IN or OUT message.
- If using concurrent consumer on JMS endpoints for request/reply over JMS then you must use the new replyToConcurrentConsumers, replyToMaxConcurrentConsumers options to configure the values.
- When the Aggregator2 is forced completed the exchange property
Exchange.AGGREGATED_COMPLETED_BY
value has been changed from "forceCompletion" to "force" so its named like the other completion triggers.
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.16.0</version> </dependency>
Changelog
For a more detailed view of new features and bug fixes, see the: