Camel 2.11.0 release (currently in progress)
Unknown macro: {div}
Unknown macro: {div}
New and Noteworthy
Welcome to the 2.11.0 release with approximately XXX issues resolved - including new features, improvements, and bug fixes, such as:
- Added support for SOAP 1.2 in SOAP data format.
- Cache operation for add/update now supports expiry headers to control time to live/idle/eternal.
- Added
allowNullBody
option to JMS to configure whether sending messages with no body is allowed. - Added
connectOnStartup
option to HDFS to allow to connect on demand, to avoid having Hadoop block for long time connecting to the HDFS cluster, as it has a hardcoded 15 minute retry mechanism. - Added support for daily and weekly trends to Twitter component.
- The Camel Maven Archetypes now generates projects without any license headers.
- Added 'rejectOld' option to the Resequencer to prevent out of order messages from being delivered after capacity/timeout events occur
- Further optimized XPath under concurrent load, and as well ensured resources are cleaned up eagerly
- Added options
allowNullBody
andreadLockMinLength
to the File and FTP components. - Made
changed
read lock strategy on FTP go faster (eg when the FTP server has a lot of files in the directory) if you enable thefastExistsCheck=true
option as well. Notice that some FTP server may not support this. - HL7 moves the HAPI 2.0 and supports Parser instance into unmarshal and "Terser" language and expression to be able to extract fields from a parsed message. HL7 also upgraded to now use Apache Mina 2.x.
- Add an option
HttpMethodRestrict
to restrict HTTP method in Jetty and SERVLET - Add support for selection of Direct-VM consumers by using ant-like path expression.
- The POJO Producing, and POJO Consuming with @Consume, @Produce, @EndpointInject now supports a new {{property} attribute to get the endpoint configuration from a bean property (eg using a getter method); this allows you to configure this on the bean using conventional bean configuration.
- Testing with
camel-test-blueprint
on Windows no longer tries to cleanup after testing taking up 5 seconds and logging WARNs. - The File, and FTP components now support
fileExist=Move
option to move any existing files before writing a file. - Added option
loadStatisticsEnabled
on Camel JMX to allow to disable load statistics if not needed (avoids a background thread being in use, to calculate the load stats). - Enabled "lazy connections" for XMPP providers via the
testConnectionOnStartup
option - Added a connection monitor to detect and fix dropped XMPP consumer connections at configurable
connectionPollDelay
intervals - Added an ExchangeBuilder to build the exchange in a fluent way.
Fixed issues
- Fixed RoutePolicy used from Spring XML with
routePolicyRef
may not invoke all callbacks on the policy. - Fixed MINA consumer to force disconnect upon timeout when doing request/reply, as late replies may cause side effects otherwise.
- Fixed Simple language with empty quoted literals in predicates, so you can compare against empty strings.
- Fixed SOAP data format to set SOAP 1.1 namespace when marhsalling faults.
- Fixed SEDA producer to send to the right BlockingQueue being attached on the SEDA endpoint so that the sent messages don't get lost.
- Fixed using
sendEmptyMessageWhenIdle=true
on a batch consumer such as File now working with Aggregate EIP when usingcompletionFromBatchConsumer
- Fixed
MockEndpoint.expectedBodiesReceivedInAnyOrder
to allow asserting on multiple arrival of the same/equal bodies. - Fixed MyBatis to demarcate the running transactions properly while reading/writing from/to database.
- Fixed Jetty, HTTP, HTTP4, and AHC http components not working in bridge mode if content path have spaces
- Fixed the CXF fallback convertor issue which camel will unregister it when the converter return null.
- Fixed the issue that File2 endpoints on windows without volume name in the path url.
- Fixed the issue of unmarshaling pgp messages encrypted with ElGamal.
- Fixed random Load Balancer to be even spread (before was a little less likely to pick the 1st)
- Fixed Timer to not fire during starting CamelContext
- Fixed XMLSecurity DataFormat to enable retrieval of password-protected private keys for asymmetric decryption
New Enterprise Integration Patterns
New Camel Karaf Command
New Components
camel-cmis
- for integration of CMIS compliant content repositoriescamel-couchdb
- for integration with Apache CouchDBcamel-elasticsearch
- for ElasticSearchintegration
camel-sjms
- for "Springless" JMS integration[camel-neo4j]
- for talking to neo4j server from Camel.
DSL Changes
- Added LoggingErrorHandler fluent builder to Scala DSL.
New Annotations
New Data Formats
New Languages
- VTD-XML - for fast and efficient XPath evaluation/splitting using the VTD-XML Library.
camel-vtdxml
hosted at Camel Extra
New Examples
- ActiveMQ Camel Tomcat example shows how to embed Apache ActiveMQ and Camel in a web application running on Apache Tomcat.
New Tutorials
API changes/breaking
- HL7 upgraded to now use Apache Mina 2.x.
- Renamed
org.apache.camel.component.hbase.HBaseContats
toorg.apache.camel.component.hbase.HBaseConstants
- Added getter/setter methods for loadStatisticsEnabled on
org.apache.camel.spi.ManagementStrategy
Internal/Non API refactorings that may affect users
- The Camel Test Kit provides a default Properties component out of the box; which mean using
addComponent("properties", ...)
is no longer needed; instead get the component usinggetComponent("properties")
and configure the component instead.
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 (e.g. running
"mvn site"
). There is no plan to fix this, as the project does not use maven site. - JBoss 7 may log a WARNing when running Camel as a WAR file.
Dependency Upgrades
- Async Http Client 1.7.5 to 1.7.6
- Axiom 1.2.10 to 1.2.12
- BeanIO 2.0.0 to 2.0.1
- Commons Exec 1.0.1 to 1.1
- ConcurrentLinkedHashMap 1.2 to 1.3.1
- Ehcache bundle 2.5.1_1 to 2.5.2_1
- Groovy 1.8.6 to 2.0.1
- GSon 2.1 to 2.2.2
- Hazelcast 2.0.2 to 2.3
- HTTP Client 4.1.3 to 4.2.1
- Icu4j 4.0.1 to 4.8.1.1
- Jackson 1.9.7 to 1.9.9
- Jaxen 1.1.3 to 1.1.4
- Jettison 1.3.1 to 1.3.2
- JRuby 1.6.7 to 1.6.7.2
- Krati 0.4.5 to 0.4.6
- Lucene 3.6.0 to 3.6.1
- Netty 3.5.1 to 3.5.5
- Ognl bundle 3.0.4_1 to 3.0.5_1
- Pax Logging 1.5.3 to 1.6.10
- QPid 0.16 to 0.18
- Quartz 1.8.5 to 1.8.6
- Restlet 2.0.14 to 2.0.15
- Saxon 9.3.0.11 to 9.4.0.1
- Shiro 1.2.0 to 1.2.1
- Solr 3.6.0 to 3.6.1
- Spring Framework 3.1.1 to 3.1.2
- Spring Integration 2.1.2 to 2.1.3
- SSHD 0.6.0 to 0.7.0
- TestNG 6.0.1 to 6.7
- Woodstox 4.1.2 to 4.1.3
- XStream 1.4.2 to 1.4.3
Important changes to consider when upgrading
camel-mina2
now usesOrderedThreadPoolExecutor
by default. There is a new optionorderedThreadPoolExecutor
you can configure it tofalse
to revert back to unordered if needed. Mina that using SSL etc. requires ordered.- The default value of
delay
option on Timer has been changed from0
to1000
Notice
- Maven 3.0.2 or better is required to build the Source
- If you want to deploy Apache Camel 2.11.0 into Apache Karaf, we highly recommend to use the 'jre.properties.cxf' configuration, which is part of Apache Karaf 2.2.5 onwards. For example
camel-cxf
,camel-mail
, andcamel-spring-ws
requires this to be installable; as well other features may as well.
Getting the Distributions
Binary Distributions
Description |
Download Link |
PGP Signature file of download |
---|---|---|
Windows Distribution |
||
Unix/Linux/Cygwin Distribution |
Source Distributions
Description |
Download Link |
PGP Signature file of download |
---|---|---|
Source Distribution |