Camel 1.4.0 release

New and Noteworthy

Welcome to the 1.4.0 release which includes 261 new features, improvements and bug fixes such as...

  • major improvements in JMS and Mail components
  • major improvements in Camel JMX management (enabled by default)
  • major improvements in Transactional Client. Bypassing Dead Letter Channel redelivery, letting the originator system handle this, resulting in the JMSMessage is rolled back to the JMS queue.
  • attachment support for Message
  • various improvements in CXF, File, FTP, Velocity, Stream, Atom and XMPP components
  • various improvements in the Java and Spring DSL
  • new transaction error handler, see Transactional Client
  • introduced ExceptionPolicyStrategy as strategy for exception clause selection during error handling (much improved default strategy in Camel)
  • intercept() default behavior changed (see section - important changes)
  • JMS headers now preserve packagename style headers so Bean and File headers is preserved, so you can safely send the filename or bean method to invoke over the JMS wire
  • introduced Debugger and Tracer interceptor to track how exchanges is routed
  • refinements to run in OSGi containers
  • some internal refactorings of package structure to avoid cycle dependencies
  • @deprecated some core classes, that will be removed in Camel 2.0
  • improved feedback for misconfiguration of camel routes such as mistypes of parameters
  • overall improved wiki documentation
  • improved javadoc for camel-core and camel-spring
  • dependencies is now on the finer grained jars if applicable (e.g. Spring)
  • WebSphere 6.1 support

New Enterprise Integration Patterns

  • None

New Components

  • Flatpack for processing fixed width or delimited files or messages using the FlatPack library (work in progress)
  • SpringIntegration for integration with Spring Integration

New DSL

  • Scala (work in progress, not fully feature complete)

New Data Formats

  • None

New Languages

  • None

New Examples

API breakings

Potentially there can be an API breaking when upgrading from Camel 1.3 or older. We are sorry for this and will try to refrain from such API breakings in the future Camel 1.x releases. An API overhaul is scheduled for Camel 2.0.

Known Issues

  • None

Important changes to consider when upgrading

CamelTemplate marked as @deprecated

CamelTemplate has been marked as @deprecated and you should use ProducerTemplate instead.
From Camel 1.4.0 on the ProducerTemplate must be retrieved from the CamelContext. You can then use it the same way as before.

ProducerTemplate camelTemplate = camelContext.createProducerTemplate();

Bean component minor change

Bean component sets a reference to the bean that is being invoked as a property on the Exchange. This property has change its key from "CamelBean" to "org.apache.camel.bean.BeanHolder" and the type is now a BeanHolder.

Unit test kits

The unit test kits camel-core-tests.jar and camel-spring-tests.jar is no longer distributed with the binary distribution. These jars can be downloaded from maven repositories.

JMX

In Camel 1.4 the Camel JMX agent has been enabled by default. To disable it, as the default in previous versions, you have to explicitly disable it. See the Camel JMX documentation for details.

Default behavior of intercept() changed

In Camel 1.4 the DSL for intercept() has changed its default behavior to proceed by default.

In Camel 1.3 you had to do this:

intercept().log("log:orders").proceed();
from("direct:order").to("seda:verifyOrder");
...

In Camel 1.4 the proceed is default:

intercept().log("log:orders");
from("direct:order").to("seda:verifyOrder");
...

And in Camel 1.3 stop was default:

intercept(header("user").isEqualTo("test")).log("log:test");
from("direct:order").to("seda:verifyOrder");
...

In Camel 1.4 you have to explicit state the stop:

intercept(header("user").isEqualTo("test")).log("log:test").stop();
from("direct:order").to("seda:verifyOrder");
...

In the last two examples we want to filter out all orders by a test user. In Camel 1.4 we need to use the stop() to stop the intercept chain from proceeding.

URI validation

Camel is now more strict when it comes to validation of URI configuration. If a parameter name couldn't be resolved Camel will throw an Exception. In this regard the File component you must change the delay parameters to have the consumer. prefix. delay should be consumer.delay.

Getting the Distributions

Binary Distributions

Description Download Link PGP Signature file of download
Windows Distribution apache-camel-1.4.0.zip apache-camel-1.4.0.zip.asc
Unix/Linux/Cygwin Distribution apache-camel-1.4.0.tar.gz apache-camel-1.4.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-1.4.0-src.zip apache-camel-1.4.0-src.zip.asc
Source for Unix/Linux/Cygwin apache-camel-1.4.0-src.tar.gz apache-camel-1.4.0-src.tar.gz.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>1.4.0</version>
</dependency>

SVN Tag Checkout

svn co http://svn.apache.org/repos/asf/activemq/camel/tags/camel-1.4.0

Changelog

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

Apache ActiveMQ & Apache ServiceMix (262 issues)
T Key Summary Assignee Reporter Pr Status Res Created Updated Due
Improvement CAMEL-732 JMX Instrumentation - check for already registered before registering Claus Ibsen Claus Ibsen Minor ClosedClosed FIXED Jul 17, 2008 Jul 17, 2008
Task CAMEL-730 Upgrade jsch to never version Claus Ibsen Claus Ibsen Minor ClosedClosed FIXED Jul 16, 2008 Jul 17, 2008
Improvement CAMEL-729 Spring Integration Consumer should support set consumer.delay etc Willem Jiang Willem Jiang Major ClosedClosed FIXED Jul 16, 2008 Jul 22, 2008
Bug CAMEL-728 Spring-aop don't ship with the camel bin distribution Willem Jiang Willem Jiang Major ClosedClosed FIXED Jul 15, 2008 Jul 22, 2008
Bug CAMEL-727 Propagated CXF header's value should not include quotes Willem Jiang William Tam Major ClosedClosed FIXED Jul 15, 2008 Jul 17, 2008
Task CAMEL-724 Upgrade to spring integration M5 or later Willem Jiang Claus Ibsen Minor ClosedClosed FIXED Jul 15, 2008 Jul 22, 2008
Improvement CAMEL-722 Upgrade to Saxon 9.1.0.1 Unassigned Claus Ibsen Minor ClosedClosed FIXED Jul 15, 2008 Jul 17, 2008
Improvement CAMEL-721 Log component should use ExchangeFormatter for formatting log output Claus Ibsen Claus Ibsen Minor ClosedClosed FIXED Jul 14, 2008 Jul 17, 2008
Bug CAMEL-719 CxfBinding will never run into the code in case the messasge body is List.class Willem Jiang Freeman Fang Major ClosedClosed FIXED Jul 14, 2008 Jul 22, 2008
Bug CAMEL-718 Anonymous FTP doesn't work without username Willem Jiang Geoff Holden Major ClosedClosed FIXED Jul 14, 2008 Jul 22, 2008
New Feature CAMEL-717 create a flatpack component for fixed width/delimited file handling James Strachan James Strachan Major ClosedClosed FIXED Jul 14, 2008 Jul 22, 2008
Bug CAMEL-713 FileProducer - consumes file instead of producing! Claus Ibsen Claus Ibsen Critical ClosedClosed FIXED Jul 13, 2008 Jul 17, 2008
Bug CAMEL-712 Xmpp private chat does not work Unassigned Vadim Chekan Critical ClosedClosed FIXED Jul 12, 2008 Jul 22, 2008
Bug CAMEL-710 Presence is sent twice by xmpp Claus Ibsen Vadim Chekan Minor ClosedClosed FIXED Jul 12, 2008 Jul 22, 2008
Improvement CAMEL-709 CXF - Easier use for end-user to retreive POJO data Willem Jiang Claus Ibsen Major ClosedClosed FIXED Jul 12, 2008 Jul 22, 2008
Bug CAMEL-707 JMX Instrumentation - Nodeid can be null Claus Ibsen Claus Ibsen Minor ClosedClosed FIXED Jul 11, 2008 Jul 17, 2008
Improvement CAMEL-705 Add support for MUC nickname for xmpp Unassigned Vadim Chekan Minor ClosedClosed FIXED Jul 11, 2008 Jul 22, 2008
Improvement CAMEL-704 Replace Group Chat with Multi User Chat in xmpp component Unassigned Vadim Chekan Minor ClosedClosed FIXED Jul 11, 2008 Jul 22, 2008
Improvement CAMEL-703 Test case for XMPP endpoint does not cover password property Unassigned Vadim Chekan Minor ClosedClosed FIXED Jul 11, 2008 Jul 22, 2008
Bug CAMEL-702 net.sf.saxon.trans.StaticError: XQuery syntax error in ##: generated when several threads are created for a route Claus Ibsen Charles Moulliard Major ClosedClosed FIXED Jul 11, 2008 Jul 17, 2008
Bug CAMEL-701 BeanInvocation - Do not allow Exchange as the return type Claus Ibsen Claus Ibsen Major ClosedClosed FIXED Jul 11, 2008 Jul 12, 2008
Improvement CAMEL-698 tracer - configuration from java Claus Ibsen Claus Ibsen Minor ClosedClosed FIXED Jul 11, 2008 Jul 12, 2008
Bug CAMEL-697 transform() doesnt propogate headers Claus Ibsen Claus Ibsen Major ClosedClosed FIXED Jul 11, 2008 Jul 12, 2008
Bug CAMEL-696 ProducerTemplate doenst honor exchange pattern when it extracts the result Claus Ibsen Claus Ibsen Major ClosedClosed FIXED Jul 11, 2008 Jul 12, 2008
Bug CAMEL-695 xquery doesnt propogate headers Claus Ibsen Claus Ibsen Major ClosedClosed FIXED Jul 11, 2008 Jul 22, 2008
Bug CAMEL-694 CXF component's CamelDestination gets configured twice Willem Jiang Willem Jiang Major ClosedClosed FIXED Jul 10, 2008 Jul 22, 2008
Improvement CAMEL-693 loadImplementationsInJar of ResolverUtils should ignore virtual bundle jar to avoid FileNotFoundException Claus Ibsen Freeman Fang Major ClosedClosed FIXED Jul 10, 2008 Jul 17, 2008
Bug CAMEL-692 Classes missing in camel-jpa.jar Claus Ibsen Claus Ibsen Major ClosedClosed FIXED Jul 10, 2008 Jul 10, 2008
Bug CAMEL-691 CxfExchange do not copy the exchange pattern when copying itself. Willem Jiang Willem Jiang Major ClosedClosed FIXED Jul 10, 2008 Jul 22, 2008
Bug CAMEL-690 XMPP component has wrong documentation Unassigned Vadim Chekan Major ClosedClosed FIXED Jul 09, 2008 Jul 17, 2008
Improvement CAMEL-689 ResolverUtil should ignore org.apache.felix.framework.searchpolicy.ContentClassLoader for OSGI class loading Willem Jiang Freeman Fang Major ClosedClosed FIXED Jul 09, 2008 Jul 10, 2008
Bug CAMEL-688 process method of should check ExchnagePAttern before setting out Willem Jiang Freeman Fang Major ClosedClosed FIXED Jul 09, 2008 Jul 22, 2008
Improvement CAMEL-687 Upgrade to Saxon 9.0 Gert Vanthienen Gert Vanthienen Minor ClosedClosed FIXED Jul 09, 2008 Jul 10, 2008
Bug CAMEL-686 CXF - Feedback from Eduard on problems with CXF over JMS Willem Jiang Claus Ibsen Major ClosedClosed FIXED Jul 08, 2008 Jul 22, 2008
Bug CAMEL-685 JMS - propation of message properties should honor jms spec that only primitives is allowed Claus Ibsen Claus Ibsen Critical ClosedClosed FIXED Jul 08, 2008 Jul 10, 2008
Improvement CAMEL-684 Upgrade Geronimo specs to 1.1.1 when available Gert Vanthienen Gert Vanthienen Major ClosedClosed FIXED Jul 07, 2008 Jul 10, 2008
Improvement CAMEL-681 Enable the duration option for camel:run plugin Willem Jiang Willem Jiang Major ClosedClosed FIXED Jul 07, 2008 Jul 22, 2008
Bug CAMEL-679 Instrumentation agent should be able to register multiple instances of a processor Claus Ibsen William Tam Minor ClosedClosed FIXED Jul 06, 2008 Jul 10, 2008
Task CAMEL-678 clean up the itest Willem Jiang Willem Jiang Major ClosedClosed FIXED Jul 06, 2008 Jul 12, 2008
Bug CAMEL-677 BAM example does not work Claus Ibsen Christian Schneider Major ClosedClosed FIXED Jul 06, 2008 Jul 22, 2008
Sub-task CAMEL-676 intercept with predicate doesnt proceed as default Claus Ibsen Claus Ibsen Major ClosedClosed FIXED Jul 06, 2008 Jul 10, 2008
Bug CAMEL-675 intercept with stop and predicate causes NPE Claus Ibsen Claus Ibsen Critical ClosedClosed FIXED Jul 06, 2008 Jul 10, 2008
Task CAMEL-673 Clean up the pom dependency module's version Willem Jiang Willem Jiang Major ClosedClosed FIXED Jul 04, 2008 Jul 12, 2008
Task CAMEL-672 spring-osgi uses hardcoded versions - upgraded to latest release Claus Ibsen Claus Ibsen Minor ClosedClosed FIXED Jul 04, 2008 Jul 05, 2008