...
Welcome to the 2.13.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)
- Using <camelContext> in Spring will now shutdown <camelContext> eager by default. This ensure a cleaner shutdown of Camel, as dependent <bean> are not shutdown at this moment. The <bean> will then be shutdown after <camelContext>. There is a new attribute shutdownEager on <camelContext> to turn this off, and use the old behavior.
- The MBean names registered by Camel JMX no longer include the hostname in the
context
part, eg before context=myHost/myCamelId
and now after context=myCamelId
. Having the hostname in the MBean name does not bring much value, and in fact makes things more complicated as the mbean name changes depending on the host running Camel.
- MBean naming in OSGi cleaned up to use simpler naming with symbolicName. Before we could have MBean names with duplicate bundle ids such as
context=114-114-camel-6
, which now is using the symbolic name instead, context=MyApplication
.
- When using multiple OSGi Blueprint <cm:property-placeholder>'s then Camel now favors using non-default placeholders, or the last property-placeholder defined in the Blueprint XML file. This allows for example to define default properties in one placeholder, and override these values in other placeholders.
- FTP consumer allow to download a single named file without using the FTP LIST command. This allows to download a known file from a FTP server even when the user account does not have permission to do FTP LIST command.
- FTP consumer allow to ignore file not found or insufficient file permission errors.
- Data Format using marshal now leverages Stream caching out of the box if enabled, which allows to marshal big streams and spool to disk, instead of being pure in-memory based.
- Improved using Bean when the bean is looked up in the Registry, when using concurrent processing in the route.
- Added
cache
option to beanRef
and <bean>
in the DSL. This avoids looking up the Bean from the Registry on each usage; this can safely be done for singleton beans.
- Configuring Data Formats in XML attributes now supports reference lookup using the # syntax, eg
<jaxb xmlStreamWriterWrapper="#myWriterWrapper" ..>
- JDBC component now also support
outputType
to specify the expected output as either a List or single Object. As well allow to map to a bean using a BeanRowMapper
to control the mapping of ROW names to bean properties.
- Both Quartz as well as Quartz2 based ScheduledRoutePolicy has been improved to better support cluster setups (e.g. to not schedule jobs being already scheduled through another node inside a given cluster).
- Reduced the work the Aggregate EIP does while holding a lock during aggregation, which can lead to improved performance in some use-cases.
-
JndiRegistry
now implements all the find methods.
- VM component now supports
multipleConsumers=true
across deployment units.
- Added
@PreConsumed
to JPA consumer.
- Added CamelFileName header support to the HDFS producer
- Like as
JpaConsumer
now also JpaProducer
of the JPA component supports the CamelEntityManager
header.
- Restlet consumer now supports returning custom headers as HTTP headers from the Camel Message.
- Spring Java Config
CamelConfiguration
now automagically detects all RouteBuilder
instances registered in the Spring context if CamelConfiguration#routes
method is not overridden.
- Added support for transferring custom headers with RabbitMQ component.
- PGPDataFormat enables stream cache during unmarshaling.
-
FileIdempotentRepository
now creates necessary parent directories together with the new repository file.
- Properties component and property placeholder will now ignore non existing JVM and environment options as well if
ignoreMissingLocation
is set to true
.
- Improved Stream consumer to enrich the Message with headers about current index / completion flag.
- Added
@BeanInject
to inject beans (obtained from the Registry) in your beans such as RouteBuilder
classes.
- Polished the Karaf commands to output tables sorted and auto calculated width, so the data is formatted nicely.
- Introduced
UnitOfWorkFactory
to allow end users to use custom UnitOfWork
implementations created by the factory.
- Doing request/reply over JMS allows per individual message
requestTimeout
value by specifying the timeout value in the "CamelJmsRequestTimeout"
header.
- Quartz and Quartz2 components now enlist the quartz scheduler by default in JMX, unless configured to be disabled.
- Twitter Component supports to set proxy.
- Netty HTTP consumer now remembers the raw (not decoded) value of URI query in the "
CamelHttpRawQuery
" header.
- Bean Validator component can be now configured to use custom
ValidationProviderResolver
(CAMEL-7162)
- TypeConverterRegistry exposes more information in JMX and allows to browse all the registered type converters.
- Bean Validator component is now shipped with the optional OSGi-friendly
HibernateValidationProviderResolver
(CAMEL-7168)
- AMQP has been updated to QPid 0.24 and has been tested using AMQP 1.0.
- Allow to turn off useOriginalMessage (camelContext.setAllowUseOriginalMessage) which avoids a defensive copy of the incoming original message, which can improve performance; in situations where access to the original message is not needed.
- Bean Validator component now automatically uses OSGi-friendly
ValidationProviderResolver
if deployed in the OSGi environment (CAMEL-7212)
- Threads DSL thread pool options and
executorServiceRef
option are now mutually exclusive. (CAMEL-7250)
...
- Spring 3.1.x is no longer supported.
- Using <camelContext> in Spring will now shutdown <camelContext> eager by default. This ensure a cleaner shutdown of Camel, as dependent <bean> are not shutdown at this moment. The <bean> will then be shutdown after <camelContext>. There is a new attribute shutdownEager on <camelContext> to turn this off, and use the old behavior.
- If using
groupedExchanges
option on Aggregate EIP then the Exchanges is now stored on the message body as well. The old way of storing as a property is considered deprecated. See more details at Aggregate.
- JMX Load statistics has been disabled by default. You can enable this by setting loadStatisticsEnabled=true in <jmxAgent>. See more details at Camel JMX.
...