Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added CAMEL-7250 information.

...

  • 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)

Fixed Issues

  • Fixed an ArrayIndexOutOfBoundsException with Message History when using SEDA
  • Fixed requestTimeout on Netty not triggering when we have received message.
  • Fixed Parameter Binding Annotations on boolean types to evaluate as Predicate instead of Expression
  • Fixed using File consumer with delete=true&readLock=fileLock not being able to delete the file on Windows.
  • Fixed Throttler to honor time slots after period expires (eg so it works consistently and as expected).
  • Fixed getting JMSXUserID property when consuming from ActiveMQ
  • Fixed interceptFrom to support property placeholders
  • Fixed a race condition in initializing SSLContext in Netty and Netty HTTP
  • Fixed using Recipient List, Routing Slip calling another route which is configured with NoErrorHandler, and an exception occurred in that route, would be propagated back as not-exhausted, allow the caller route to have its error handler react on the exception.
  • Fixed Quartz and exception was thrown when scheduling a job, would affect during shutdown, assuming the job was still in progress, and not shutdown the Quartz scheduler.
  • Fixed so you can configure Stomp endpoints using URIs
  • Fixed memory leak when using Language component with camel-script languages and having contentCache=false
  • Fixed Error Handler may log at WARN level "Cannot determine current route from Exchange" when using Splitter
  • Fixed camel-fop to work in Apache Karaf and ServiceMix
  • Fixed HDFS producer to use the configured UuidGenerator when generating split file names to avoid filename collisions
  • Fixed JpaProducer and JpaConsumer of the JPA component to not share/reuse the same EntityManager object which could cause problems if this would occur in the context of multiple/different threads.
  • Fixed HTTP4 to support multiple custom component names in use, each configured using different SSLContext.
  • Fixed Content Based Router using method call's as Predicates if threw an exception, the Content Based Router will call next predicate before triggering Error Handler.
  • Fixed Netty HTTP producer with query parameters may use wrong parameters from a previous call.
  • Fixed Netty producer may cause NullPointerException in messageReceived in client handler, if a Channel was destroyed from the producer pool.
  • Fixed File and FTP consumer(s) when idempotent=true could not detect changed file(s) as a new file, but would regard the file as idempotent.
  • Fixed Stream consumer reading a file using groupLines would not read last group of message if there was not enough lines to hit the threshold.
  • Fixed deleting the done file if File or FTP consumer rollback and the moveFailed option is in use.
  • Fixed avro data format in OSGi not being able to load schema classes.
  • Fixed JMX when using custom beans in routes with @ManagedResource to expose JMX attributes/operations to not include Camel standard attributes/operations from its processors, which would be shown as unavailable in JMX consoles.
  • Fixed Quartz2 simple trigger repeat count default value not working causing the trigger to only fire once, instead of forever.
  • Fixed JMS with a JMSRepyTo header using a topic, was mistakenly used as a queue instead. 
  • Fixed CSV to not modify the properties of the strategy constants declared by org.apache.commons.csv.CSVStrategy which would cause side effects when multiple CsvDataFormat objects are concurrently in use.
  • Fixed camel-script may return result from previous evaluation instead of result from current exchange.
  • Fixed ThreadsProcessor to resolve RejectedPolicy from the referenced ThreadPoolProfile (CAMEL-7240)

...