Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: editorial scrub
Wiki Markup
h1. Camel 2.10.0 release (currently in progress)

{div:style=padding-right:20px;float:left;margin-left:-20px;}
!http://camel.apache.org/download.data/camel-box-v1.0-150x200.png!
{div}
{div:style=min-height:200px}
{div}

h2. New and Noteworthy

Welcome to the 2.10.0 release whichwith approxapproximately XXX issues resolved (- including new features, improvements, and bug fixes, such as...): 

* Internal code cleanup to reduce warnings reported by Eclipse
* Moved [Spring Testing] from {{camel-test}} to {{camel-test-spring}} component.
* Camel [Property Placeholders|Using PropertyPlaceholder] isare now supported in embedded [Expression]s inwithin the Camel routes.
* Added missing options in the XML DSL for the [XPath] language to control and set which XPath Engine to use, etc.
* Added option {{logNamespaces}} to the [XPath] language to have {{INFO}} logging of detected namespaces from message.  CanThis can be used to aid duringtroubleshoot issues withwhere havingan [XPath] expression worksdoesn't work as expected (as it's often a namespace conflict).
* Added {{replyToCacheLevelName}} option to the [JMS] component, toallowing allowconfiguration to configureof cache levels for persistent reply consumer,consumers when doing request/reply over JMS. Some message brokers do not work well with caching, so users may need to configureset this option to {{CACHE_NONE}}.
* Added {{antInclude}} and {{antExclude}} options to [File|File2] and [FTP|FTP2] components, to make it easier to specify include/exclude filters using ANT stylesyntax.
* The [Camel archetypes|Camel Maven Archetypes] for Java and Scala no longer generate projects with Spring dependencydependencies. 
* Improved {{JdbcMessageIdRepository}} in the [SQL|SQL Component] to use custom SQL statements/queries.
* Added option to [Properties] to allow silently ignoring property locations not found, such as a .properties file.
* Added {{managementNamePattern}} attribute to {{<camelContext>}} to make it very easy to customize and control the JMX naming of the Camel application. See details at [Camel JMX|Camel JMX#CamelJMX-ManagementNamingStrategy]. For example, in OSGi environments you can explicitly configure a {{managementNamePattern}} in case you do not want the bundleId as part of theMBean MBean names.
* Added streaming update support to [Solr] as well as support for SolrInputDocuments
* Added SolrJ DirectXMLRequest support to [Solr] to support XML based index updates
* Improved Camel [Mail] to support the {{replyTo}} option
* Added {{traceEnabled}} option to [Jetty] component so you have control over whether to allow HTTP TRACE calls against your Jetty endpoints.
* Polished the [Camel Maven Archetypes] to let the projects be prepared for [Testing], and fixed any WARNs from Maven.
* Added {{dumpRouteStatsAsXml}} methods to [JMX|Camel JMX] to make it easier to get the total performance stats as XML, and in one JMX call.
* [Graceful Shutdown] is now more aggressive if timeout occurred during shutdown, now rejecting continuecontinued processing of messages or redeliveries.
* Add {{ShutdownPrepared}} SPI to allow custom Services (also EIPs) in routes to do custom code preparingin preparation for shutdown.
* The {{camel-archetype-java}} [Camel Maven Archetypes] is now a pure Java DSL based project (no longer Spring)
* [JMS] consumer is less verbose when logging uncaught exceptions occurredthrown duringwhile processprocessing a message. Added {{errorHandlerLoggingLevel}}, and {{errorHandlerLogStackTrace}} options to tweak the logging verbosity.
* Added {{messageId}} as an [MDC logging] key.
* Improved Camel's Transaction [Error Handler] logging to better pinpoint and correlate redelivered messages (from, e.g., a JMS broker), making the logs much easier to read.
* Added thea timeout option to [Spring Web Services] for specifying the read timeout while invoking a webservice.
* Optimized [Type Converter] registry for possible concurrency contention when looking up a type converter.
* Improved [Simple] language to work better with floating point numbers in [Predicate]s
* Camel is now less verbose when starting and stopping, with whatsless being logged at {{INFO}} level.
* Add support for keyed data queues to [jt400] component.
* [Idempotent Consumer] getsis now enlisted intoin the JMX, which allows tomonitoring both detect the duplicate message count as well as the operation to reset themit.
* Thread pools areregistered nowin unregistered from [JMX|Camel JMX] (ifare thenow threadunregistered poolwhen wasCamel registeredshuts inthem JMX)down. when the thread pool is being shutdown by Camel. Notice Note that all MBeans will be unregistered from JMX when Camel shuts itself down. This improvement is to unregister thread pools more eagerly, such as when routes are removed at runtime.
* Camel will now also copy the message headers for a {{JmsMessage}} if you useleverage {{useOriginalMessage}} in aan {{onException}} definition.
* Added {{mockEndpointsAndSkip}} to [AdviceWith] and the [Test Kit|Testing]
* The filter on [File|File2] and [FTP|FTP2] components now supportssupport filtering directories. ThereThe is an {{isDirectory}} method on the {{GenericFile}} class. This can be used to skip unwanted directories, andaccelerating thus speedup consuming filesfile consumption.
* [SMPP] connections can now be tunneled through an HTTP proxy by configuring HTTP proxy settings.
* Camel now also checks, when starting a route dynamically, whether there would be any violations on multiple consumers from the same [Endpoint]. Previously this check only occurred during Camel startup - now it always happens.
* Stopping a {{ConsumerTemplate}}, or anda {{ProducerTemplate}} will now stop and shutdown its cache to cleanup any resources which otherwise manymay not onlyhave cleanupbeen whenreclaimed shuttinguntil downshutdown.
* [ScheduledPollConsumer|http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html] will now shutdown thread pools more eagerly, such as beingwhen stoppedstopping from a {{ConsumerTemplate}} etc.
* Added option {{asyncStartListener}} to [JMS] to allow starting JMS consumers (ege.g. routes) asynchronously. This can be used to avoid blocking in case the JMS consumer takes long time to establish a connection to the JMS broker.

h3. Fixed issues

* Fixed memory leak issue when dynamicdynamically adding and removing a lot of many routes at runtime. See this [FAQ|Memory leak when adding and removing routes at runtime] for more information. 
* Fixed potential NPE in [FTP|FTP2] consumer when using double slashes as starting directory.
* Fixed [InterceptSendToEndpoint|Intercept#InterceptSendToEndpoint] with a [when|predicate] andusing {{skipSendToEndpoint=true}} shouldwith only skip a [when|predicate] predicate to only skip sending if the predicate was true.
* Fixed an issue with [Bean Binding] directly in a method name not working properly with method call expressions.
* Fixed issue with using custom namespaces in [XPath] expressions when using [OSGi Blueprint|Using OSGi blueprint with Camel]
* Fixed [Validation] to support {{xs:import}} in the schema files.
* Fixed [Poll Enrich|Content Enricher] where the timeout was not explicitexplicitly configured to use the blocking mode. Was(was wrongly using the non -blocking mode).
* Fixed [Threads EIP|Async] to handle rejected policies, toensuring ensure the [Exchange] will donefinish the {{UnitOfWork}}, to ensure the [Exchange] and will getbe de-registered from the inflight registry.
* Fixed [Delayer] not working with a [Bean] expression to define the delay when using XML DSL
* Fixed [JMS] consumer willto no longer complain by default aboutif no errorHandler is configured, when ifan uncaught exception was thrown duringwhile processing a message.
* Fixed the String trim issue of thein [Simple] expressionexpressions.
* Fixed the issue with [Recipient List] not triggering [Error Handler] for endpoints with non existing [Component]s.
* Fixed [Load Balancer] nowto updatingupdate statistics in [JMX|Camel JMX]
* Fixed [SEDA] producer configured with {{waitForTaskToComplete=Always}} to not handoverhand over on-completion tasks, which otherwise could be processed too earlyprematurely.
* Fixed a potential issue with configuring custom start and end tokens for the [Simple] language when using Spring XML.
* Fixed an issue with [Type Converter] withwhere NaN numbersvalues beingwere converterconverted to integers.
* Fixed [HTTP], [HTTP4], and [Jetty] producers to send empty HTTP headers, if a header has an empty value.
* Fixed memory leaks when adding and removing a lot of routes at runtime. See this [FAQ|Memory leak when adding and removing routes at runtime] as well for [Exchange] headers with an empty value.
* Fixed an issue with configuring a custom thread pool profile on some [EIP]s.
* Fixed an issue with [Intercept] causing processors to not update their performance statistics in [JMX|Camel JMX]

h3. New [Enterprise Integration Patterns]

h3. New [Components]

* {{camel-avro}}
* {{camel-aws}} - AWS-DDB - Amazon DynamoDB
* {{camel-beanio}}
* {{camel-cdi}}
* {{camel-gson}} - For [JSON] data format using the Google GSon project
* {{camel-mina2}}
* {{camel-mongodb}} - for [MongoDB] integration
* {{camel-ssh}} - For executing commands on a [SSH] Server
* [Stub] - For stubbing endpoints, for development and testing purposes
* {{camel-test-blueprint}} - For [Blueprint Testing]
* {{camel-test-spring}} - For [Spring Testing]
* {{camel-twitter}} - For integrating with [Twitter]
* {{camel-websocket}} - For using web socket 

h3. DSL Changes

h3. New Annotations

h3. New [Data Formats|Data Format]

* {{camel-avro}}
* {{camel-beanio}}
* {{camel-gson}} - For [JSON] data format using the Google GSon project

h3. New [Languages]

h3. New [Examples]

* There is a {{camel-example-ssh}}

h3. New [Tutorials]

h2. API changes/breaking

* Added {{shutdownForced}}, and {{forceShutdown}} methods to {{org.apache.camel.spi.ShutdownStrategy}}
* Add boolean parameter to {{prepareShutdown}} on {{ShutdownAware}}
* The {{errorHandler}} method in {{RouteBuilder}} now returns {{void}}, as itsit's only used for only configuring context -scoped error handlers.
* Removed the {{SimpleLanguage}} constructor whichthat takes custom start and end tokens from {{SimpleLanguage}}. Instead use the change methods to set custom tokens.
* Added {{onThreadPoolRemove}}, and {{onErrorHandlerRemove}} methods to {{LifecycleStrategy}}

h2. Internal/Non API refactorings that may affect users

* Removed method {{setManagementName}} from {{CamelContext}} as it should not be used by Camel end users
* Added method {{isTransactedRedelivered}} method to [Exchange]
* Added method {{isDirectory}} method to {{GenericFile}}

h2. Known Issues

* The [Tracer] may not output all details for some situations, such as when using {{onCompletion}} or {{intercept}}, etc.
* The project cannot fully build the site using Maven (ege.g. running {{"mvn site"}}). There is no plan to makefix this, work as the project dodoes not use the maven site.
* The source code cannot fully build with JDK 7
* JBoss 7 may reportlog a WARNWARNing logging when running Camel as a WAR file.

h2. Dependency Upgrades

* AHC 1.6.5 to 1.7.1
* AWS 1.2.2 to 1.3.0
* Commons-codec 1.4 to 1.6
* Commons-net 2.2 to 3.0.1
* CXF 2.5.1 to 2.5.2
* Groovy 1.8.5 to 1.8.6
* Hadoop 0.20.203.0 to 1.0.0
* Hazelcast 1.9.4.4 to 1.9.4.8
* Jasypt 1.7 to 1.9.0
* Jetty 7.5.3 to 7.5.4
* JRuby 1.6.6 to 1.6.7
* Kratti 0.4.1 to  0.4.3
* Netty 3.2.6 to 3.3.1
* Shiro 1.1.0 to 1.2.0
* Spring 3.0.6 to 3.0.7
* Spring Integration 2.0.5 to 2.1.0
* Spring Security 3.0.7 to 3.1.0
* Tagsoup 1.2 to 1.2.1 

h2. Important changes to consider when upgrading

* Moved [Spring Testing] from {{camel-test}} to {{camel-test-spring}} component.
* Combination of {{skipSendToEndpoint=true}} and {{when}} predicate now triggers conditional skipping (you may behave been relying on unconditional skipping up until now)
* The thread name pattern has changed tokens to avoid clashing with [Using PropertyPlaceholder], (see [Threading Model] for more details).
* The [Poll Enrich|Content Enricher] will now block if no messages isare available, ifand no explicit timeout value has been configured.
* SettingThe the option {{lazyLoadTypeConverter=true}} has been deprecated, and will be removed in a future release. The Bestbest practice is to load type converters is loaded as part of while bootstrapping Camel.
* The [Camel Test kit|Testing] do no longer lazily loadloads type converters. lazy.
* Keys for [MDC logging] hashave been prefixed with {{"camel."}}.

h2. Notice

* If you want to deploy Apache Camel 2.9.0 into Apache Karaf, we highly recommend to use the 'jre.properties.cxf' configuration, which is part of Apache Karaf 2.2.5.

h2. Getting the Distributions

h3. Binary Distributions

|| Description || Download Link || PGP Signature file of download ||
| Windows Distribution | [apache-camel-2.10.0.zip|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.10.0/apache-camel-2.10.0.zip] | [apache-camel-2.10.0.zip.asc|http://www.apache.org/dist/camel/apache-camel/2.10.0/apache-camel-2.10.0.zip.asc] |
| Unix/Linux/Cygwin Distribution | [apache-camel-2.10.0.tar.gz|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.10.0/apache-camel-2.10.0.tar.gz] | [apache-camel-2.10.0.tar.gz.asc|http://www.apache.org/dist/camel/apache-camel/2.10.0/apache-camel-2.10.0.tar.gz.asc] |
{info:title=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 [FireFoxFirefox|http://www.mozilla.com/en-US/firefox/]

{info}

h3. Source Distributions

|| Description || Download Link || PGP Signature file of download ||
| Source Distribution | [apache-camel-2.10.0-src.zip|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.10.0/apache-camel-2.10.0-src.zip] | [apache-camel-2.10.0-src.zip.asc|http://www.apache.org/dist/camel/apache-camel/2.10.0/apache-camel-2.10.0-src.zip.asc] |

h3. Getting the