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