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

Compare with Current View Page History

« Previous Version 44 Next »

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.
  • The Aggregator2 now supports pre-completion mode if the aggregation strategy implements PreCompletionAwareAggregationStrategy. This supports the use-case where an incoming Exchange are used to determine if the current aggregated group is completed or not. If completed the group is emitted as-is, and the new incoming Exchange is used to start a new group from scratch.
  • Added options to Mail consumer so it can skip or handle a mail message that cannot be read from the mail server in the batch; and then move on to read the next message. This ensures the consumer can deal with mail boxes that has problematic mails that otherwise will cause no mails to be retrieve by the consumer in the batch.
  • The runtime route processors and their corresponding model definition are now linked by their id using HasId, so its easier to obtain the processor or model definition from the getProcessor(id) and getProcessorDefintion(id) api on CamelContext.
  • CamelContext now also includes a getManagedProcessor API to easily get the mbean client api for the processor, so you can access the runtime JMX statistics from Java code. 
  • Spring Boot applications now block the main thread of the execution
  • Spring Boot automagically loads XML routes definitions from classpath
  • Added MainListener to make it easier for Camel Boot / Standalone Camel to implement custom logic to trigger during the starting and stopping of the application.
  • Camel Jackson now provides Map to Object converter
  • Ability to refer to existing hazelcast instance by id, using Hazelcast Component
  • Direct and Direct-VM now supports the failIfNoConsumers option
  • Making it easier to add custom Type Converter to your Camel applications without having to use the META-INF file. In Spring or Blueprint just add them as <bean>s. See more details at Type Converter documentation.
  • camel-cxf PAYLOAD supports stream cache out of box.
  • BridgePropertyPlaceholderConfigurer supports to handle the jasypt encryption inside and outside of the camelContext.

  • The camel-aws component now support Amazon DynamoDB version 2

  • The Wire Tap eip now also emits event notifications when sending the Exchange to the wire tap destination

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.
  • Various EIPs such as SplitterRecipient ListMulticast no longer reuse message id in their sub messages, but each sub message has its own unique message id (just as the exchange has).
  • Fixed an issue with the circuit breaker Load Balancer not honoring the half open after period after an error was detected.

New Enterprise Integration Patterns

New Components

  • camel-paho - For MQTT messaging using Eclipse Paho client

New DSL

New Annotations

New Data Formats

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.
  • Jsonpath from 1.2.0 to 2.0.0
  • Restlet from 2.2.x to 2.3.1
  • Various Spring version upgrades.
  • Jackson2 from 2.4.3 to 2.5.1

  • Json-path library from 1.2.0 to 2.0.0

  • Amazon Web Service Java SDK from 1.8.9.1 to 1.9.17
  • Apache JClouds from 1.8.1 to 1.9.0
  • Async-http-client from 1.9.8 to 1.9.17
  • Freemarker from 2.3.21 to 2.3.22
  • Cassandra Datastax Java Driver from 2.1.2 to 2.1.5. 
  • Cassandra from 2.1.2 to 2.1.4.
  • Dropbox core Java SDK from 1.7.6 to 1.7.7
  • Facebook4j from 1.1.12 to 2.2.2
  • LightCouch from 0.1.3 to 0.1.6
  • Apache Kafka from version 0.8.1.1 to 0.8.2.0
  • Apache PDFBox from version 1.6.0 to 1.8.9
  • Twitter4J from version 4.0.2 to 4.0.3
  • Dropwizard Metrics from 3.1.0 to 3.1.1

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.
  • Removed unsupported modules camel-web and camel-web-standalone.
  • Removed unsupported camel:dot functionality from camel:run plugin.
  • Removed unsupported camel-archetype-scala-component from maven archetypes.
  • The Maven coordinate for linkedin and olingo2 components changed to be aligned like all the others having groupId as just org.apache.camel.

Getting the Distributions

Binary Distributions

Description

Download Link

PGP Signature file of download

Windows Distribution

apache-camel-2.16.0.zip

apache-camel-2.16.0.zip.asc

Unix/Linux/Cygwin Distribution

apache-camel-2.16.0.tar.gz

apache-camel-2.16.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-x.y.x-src.zip

apache-camel-x.y.x-src.zip.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.16.0</version>
</dependency>

Changelog

For a more detailed view of new features and bug fixes, see the:





  • No labels