THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- The component documentation generated from the source code has been double checked to be up to date and include all the options the endpoints supports.
- Camel commands for Spring Boot
- Many improvements to Camel Kura
- Added transacted option to SQL Component when used as a consumer in a transacted route.
- Added support for UPDATE operation to ElasticSearch.
- Allow to reuse existing configured Elasticsearch Client on the ElasticSearch component, instead of creating a client per endpoint.
- The
include
andexclude
options on File2 and FTP endpoints is now case in-sensitive out of the box. - Resource based component such as XSLT, Velocity etc can load the resource file from the Registry by using
ref:
as prefix. - Upgraded camel-amqp to the latest qpid-jms-client (also AMQP < 1.0 is not supported anymore).
- Many improvements to Camel AMQP component.
- The Metrics Component allows to capture Message History performance statistics with the
MetricsMessageHistoryFactory
- Reduced the number of mbeans enlisted in the services tree, to only include mbeans that has value to be managed.
- The Elasticsearch Component now supports MultiGet operation
- The Throttler has been improved to be more performant and use a rolling window for time periods which gives a better flow.
- The
setHeader
andsetExchangeProperty
allows to use a dynamic header key using the Simple language if the name of the key is a Simple language expression. - Add collate function to Simple language to make it easier to split a message body into sub lists of a specified size. The function is similar to the collate function from Groovy.
- The Camel Run Maven Goal is able to auto detect if its a OSGi Blueprint or CDI project so end users no longer have to explicit configure this on the plugin.
- Camel-Elasticsearch now supports Multiget, Multisearch and exists operation
- Camel-Git now supports Cherry-pick operation
- Stopping the
Main
class from JMX will now trigger shutdown of the Main class/JVM also, as it does when hitting ctrl + c. - Added option to skipFirst to the Tokenizer language to make it easy to skip the very first element, when for example splitting a CSV file using the Splitter EIP.
- The Rest DSL now supports default values for query parameters
- The Rest DSL now only binds from POJO to JSon/XML if the content-type is for json or xml. This allows you to specify a custom content-type and omit the binding, such as when having binary payloads.
- Exchange and Message only output id in their toString method to avoid outputting any message details such as sensitive details from message bodies.
- Camel Error Handler no longer log message body/header details when logging the Message History. This avoids logging any sensitive details from message bodies.
- Camel Exception Clause and Error Handler now supports using a custom
Processor
to be invoked right after an exception was thrown using the new onExceptionOccurred option. - RabbitMQ consumer more resilient to auto re-connect in case of connection failures
- The JSON
camel-jackson
can be used as a type converter to convert json to/from POJO and String/byte[] types, if enabled. - The SQL Component now supports loading the SQL queries from external files on the classpath or file system, where you can format the queries using newlines and indenting.
- The Mail consumer allows to use an idempotent repository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process.
- Added support for completion interval on the SJMS Batch component, which allows to trigger batch completion in a fixed scheduled interval.
- The HTTP and HTTP4 producers now support the
disableStreamCache
option to allow to use the raw response stream as the message body instead of wrapping using Stream caching - The Camel CDI component has been improved to better fit into the CDI programming model, cover a larger set of containers, and provide these new features:
- The Camel events from the
org.apache.camel.management.event
package (likeCamelContextStartedEvent
) can be observed as CDI events - The new CDI event Camel endpoint enable CDI events to be seamlessly consumed from (respectively produced by) Camel consumers (respectively Camel producers)
- CDI beans annotated with the
@Converter
annotation are automatically registered as type converters - The CDI Camel contexts can be properly customised programmatically in bean constructor or
@PostConstruct
lifecycle callback - Camel routes configured in
RouteBuilder
beans are added before the corresponding Camel contexts get started - CDI Camel contexts are now properly adapted when deployed in OSGi containers and are registered as OSGi services
- Proper support of multiple Camel contexts across all the features
- A new Camel CDI Test module is available to ease testing of Camel CDI applications
- The Camel events from the
- The XSLT component now supports Saxon's integrated extension functions.
- Added option
reuseChannel
to Netty4 which allows to reuse existing Channel when using a netty producer to call a server multiple times during routing an Exchange. - Idempotent Repository now supports optional serialized headers
- Rest DSL adjusted to swagger spec 2.0 and Swagger Java as well.
- Rest DSL allows to specify response headers as well.
- Rest DSL is exposing the REST services using all local IP address (eg 0.0.0.0) by default.
- Camel-quartz2 now supports customCalendar to avoid specific range of dates (Holidays for example) in Scheduler and Triggers.
- Improved Bean Language to be able to invoke static methods on pure static classes.
- When Bean Language failed to invoke a method from an OGNL method chain (eg invoke the following 3 methods "doFoo.doSomething.getBar") and a method returned null which prevent further method invocation as that would cause a NullPointerException. Now you have a more detailed exception message to better explain this.
- JAXB data format and type converter now supports converting from XML to POJO for classes that are using ObjectFactory classes instead of XmlRootElement annotations.
- The Kafka component has been migrated to use the Java Kafka client instead of Scala. As such there may be migration efforts or code changes that can affect users upgrading.
- The Loop EIP now allows to run in a while loop mode, so it loops until the predicate returns false.
Fixed these issues
- The Swagger Java now parses nested types in the POJO model that has been annotated with the swagger api annotations to use in the schema api model
- Fixed Rest DSL with apiContextPath fail to start if there are 2 ore more rest's in use.
- Fixed Rest DSL with Swagger Java to output the swagger API with property placeholder resolved to actual used values.
- Paho component name is not limited to 4 characters anymore.
- Fixed Spring Boot not starting Camel routes if running in Spring Cloud.
- Fixed an issue with Swagger Java using api-docs could lead to api-doc route being added multiple times
- Fixed a few things missing in the generated swagger model when using Swagger Java
- Fixed using
statement.xxx
options on the JDBC consumer would only be used in first poll. - Fixed HTTP and HTTP4 to keep trailing slash if provided in uri when calling remote HTTP service.
- Fixed OnCompletion to keep any caught exception stored as property on the
Exchange
which allows to access that information to know if there was an exception during routing. - Fixed an issue with Bean component or Simple language with OGNL method call, would pick method with java.lang.Object type over a better suited method, when the method is overloaded.
- Fixed
camel-blueprint
to wait for the bundles with the component and data-formats the Rest DSL has been configured to use, are available before starting Camel. - Fixed an issue with Error Handler would log any handled(true) exceptions.
- Fixed a memory leak if adding/removing routes using Idempotent Consumer where the repository would not be removed from the JMX registry when routes is removed.
- Fixed issue with Spring Boot would eager shutdown some Camel resources like type converters, which spring-boot should let Camel handle the lifecycle of these resources.
- Fixed CXFRS using simple binding mode would use the content-length header from the incoming message in the response, instead of calculating the length based on the output message body.
- Fixed an issue with Simple if starting the expression with
file:
could fail with an error. - Fixed Spring Boot may report spring type converter errors if Stream caching is enabled.
- Fixed Idempotent Consumer would not propagate exception thrown from
IdempotentRepository
to Camel's Error Handler such asonException
...