Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Camel

...

2.0.0 release

release (Work in progress) {div:style=} !http://activemq.apache.org/camel/download.data/camel-box-v1.0-150x200.png! {div} {div:style=min-height:200px} h2. New and Noteworthy Welcome to the 2.0.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...) * Introduced [type converter registry|Type Converter] to allow end users to programmatic get access to this registry * major improvements to [Jetty] for better handling of exception/faults and easier end-user customization how response should be written * major improvements to [File] for consuming files, now supporting pluggable sorting, filtering and idempotent repositories. * major refactor and improvements to [FTP], aligning it with the [File] component. * minor improvements to [JDBC], [SQL], [Http] and [Mina] * [File] and [FTP] producers added option to write files using a temporary name and then rename it to the real name after the write completes * [SFTP|FTP] added support for knownhosts and privatekey files * [Mail] now supports setting additional SUN java mail properties * [Mina] now supports setting text line delimiters for textline codec. * [Mina] producer now throws CamelExchangeException in case no response received from remote server when in sync mode (sync=true) * RedeliveryPolicy added support for ref attribute to reference a existing policy in the [Registry] * Added {{onWhen}} and {{retryUntil}} predicates to [Exception Clause] * [List] component renamed to [Browse] * [Exception Clause] is much smarter as it will use caused by exception hierarchy for matching as well (will use bottom ups) * [Dead Letter Channel] now have {{onRedeliver}} to allow custom processing an [Exchange] *before* its being redelivered. Allowing you to work on the message being sent. * Added support for [# syntax in Endpoint URI's|How do I configure endpoints] to allow endpoint URI's to refer to bean in the [Registry]. * {{consumer.}} prefix can be omitted for scheduled polling consumers such as [File], [FTP] consumersCAMEL-1199. Thus the URI options is more simpler and you don't have to remember which requires {{consumer.}} prefix and which doesn't. * [Tracer] improved to allow custom routing and processing of TraceEventMessage so you can store trace logs as you like, for instance in a database. * [Tracer] now also displays the previous node so you can see where the Exchange is coming from. h3. New [Enterprise Integration Patterns] * None h3. New [Components] * [Cometd] * [Restlet] * [RSS] h3. New [DSL] * [Scala|Scala DSL] (work in progress, not fully feature complete) h3. New Annotations * None h3. New [Data Formats|Data Format] * [JSon] * [Zip] h3. New [Languages] * [Mvel] h3. New [Examples] * [camel-example-tracer|Tracer Example] is a new example showing [Tracer] persisting trace events into a database using [JPA] * [camel-example-reportincident|Tutorial-Example-ReportIncident] is based on a real life use case. h2. API breakings h3. Components - The [List] component is renamed to [Browse] component - The [Queue] component has been removed - The [FTP] component have renamed some of its URI options - The [File] component have renamed some of its URI options h3. CXF producer From Camel 1.5.1 the camel-cxf producer's serviceClass parameter should be Interface, before that you could specify the serviceClass as a Class or Interface. h3. Changes to existing interfaces * add getTypeConverterRegistry() to CamelContext * change to use verb for EIP action ** ProcessorType splitter -> split ×× ProcessorType resequencer -> resequence ** ProcessorType aggregator -> aggregate ** ProcessorType delayer -> delay ** ProcessorType throttler -> throttle ** ExceptionType delay -> redeliveryDelay * change the the JAXB annotations for spring schema ** AggregatorType @XmlRootElement(name = "aggregator") -> @XmlRootElement(name = "aggregate") ** DelayerType @XmlRootElement(name = "delay") -> @XmlRootElement(name = "delay") ** DelayerType @XmlElement private Long delay = 0L; -> @XmlElement private Long delayTime = 0L; ** RedeliveryPolicyType @XmlAttribute private Long delay; -> @XmlAttribute private Long redeliveryDelay; ** ResequencerType @XmlRootElement(name = "resequencer") -> @XmlRootElement(name = "resequence") ** SplitterType @XmlRootElement(name = "splitter") -> @XmlRootElement(name = "split") ** ThrottlerType @XmlRootElement(name = "throttler") -> @XmlRootElement(name = "throttle") * other spring DSL changes ** expression has been renamed to language as its used for language expressions and language is used in the Java DSL ** delayTime is now an attribute on delay h3. Removal of deprecated items * "initialRedeliveryDelay" in RedeliveryPolicy has been renamed to "delay". You will need to make this change in the Java/Spring DSL usage of the deadLetterChannel, redeliveryPolicy, transactionErrorHandler, and onException. * CamelTemplate has been removed, use ProducerTemplate instead. It can be created using org.apache.camel.CamelContext.createProducerTemplate(). * exception() has been renamed to onException(). * The beanShell method on ExpressionClause has been removed. Use language("beanshell", text) instead. * handleAll in try-catch has been renamed to finallyBlock * trace() has been removed. Please use [Tracer Support|http://activemq.apache.org/camel/tracer.html] instead. * setOutBody() has been removed. Please use transform(Expression) instead. * setHeader(String name, String value) has been removed. Please use setHeader(String, Expression) instead. * convertOutBodyTo has been removed. Please use convertBodyTo(Class) instead. * The "methodName" parameter on a bean endpoint has been renamed to "method". * On the file endpoint excludedNamePrefixes and excludedNamePostfixes have been renamed to excludedNamePrefix and excludedNamePostfix. * The QueueCompoenent has been removed. Please use the seda: URI format instead of queue: * ListPollingConsumer has been removed. * InvalidHeaderTypeException has been removed. Use InvalidTypeException instead. * camelContext "useJmx" attribute has been removed. Please use the jmxAgent element instead. * CamelContext no longer has the following methods: addSingletonEndpoint, removeSingletonEndpoint, setRoutes * When using TransactionErrorHandlerBuilder, you must use DelayPolicy instead of RedeliveryPolicy. * The BeanInjector in camel-spring has been removed. * On Endpoint, getContext() and setContext(CamelContext) have been renamed to getCamelContext() and setCamelContext(CamelContext) * To set the ignored headers in the http component you must use the HeaderPropagationStrategy instead of setIgnoredHeaders(...) * JettyHttpProducer has been removed. Use org.apache.camel.component.http.HttpProducer instead. * In MailConfiguration, getDestination() and setDestination(...) have been renamed to getRecipients() and setTo(...). * shouldHeaderBePropagated() in HttpBinging has been removed in favour of using HeaderPropagationStrategy * In camel-ognl, RootObject class has changed getIn/Out to getRequest/Response * In JmsBinding, instead of get/setIgnoreJmsHeaders, use DefaultHeaderFilterStrategy.get/setOutFilter * In JmsProducer, getTemplate has been renamed to getInOnlyTemplate * get/setRequestTimeout on the JmsEndpoint has been removed. You will need to specify this in the JmsConfiguration. * In CxfBinding, createCxfMessage, storeCxfResponse, and copyMessage all require a HeaderFilterStrategy as a parameter. You can use 'new CxfHeaderFilterStrategy()' for instance. * In CxfSoapBinding, getCxfInMessage and getCxfOutMessage require a HeaderFilterStrategy as a parameter. * CxfSoapBinding.setProtocolHeader has been removed, please use CxfHeaderHelper.propagateCxfToCamel instead. * get/setContext() on the CxfSoapEndpoint has been renamed to get/setContext() * In camel-jms the RuntimeJmsException, MessagePropertyAccessException, MessagePropertyNamesAccessException, and MessageJMSPropertyAccessException have been removed. CamelRuntimeException will be thrown instead. * The beanShell method on ScriptBuilder has been removed. Use script("beanshell", text) instead. * In camel-stream usage of StreamMessage has been replaced by DefaultMessage * In StreamEndpoint, setFile has been removed. You should use the camel-file component instead. * In StreamEndpoint, setUrl has been removed. You should use the camel-http component instead. * serviceActivation has been removed h3. Aggregator specification in Spring DSL changed The aggregator expression is now enclosed in a correlationExpression element. You now need to specify an aggregator as: {code} <aggregator> <correlationExpression> <simple>header.cheese</simple> </correlationExpression> <to uri="mock:result"/> </aggregator> {code} h2. Known Issues See known issues from previous releases. h2. Important changes to consider when upgrading h3. JAXB data format If you use XJC to create the java class from the schema, you will get a ObjectFactory for you JAXB context. Since the ObjectFactory uses JAXBElement to hold the reference of the schema and element instance value, from Camel 1.5.1 jaxbDataformat will ignore the JAXBElement by default and you will get the element instance value instead of the JAXBElement object form the unmarshaled message body. If you want to get the JAXBElement object form the unmarshaled message body, you need to set the JaxbDataFormat object's ignoreJAXBElement property to be false. {div} h2. Getting the Distributions h3. Binary Distributions ||Description||Download Link||PGP Signature file of download |Windows Distribution| [apache-camel-2.0.0.zip|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.0.0/apache-camel-2.0.0.zip]| [apache-camel-2.0.0.zip.asc|http://www.apache.org/dist/activemq/apache-camel/2.0.0/apache-camel-2.0.0.zip.asc]| |Unix/Linux/Cygwin Distribution| [apache-camel-2.0.0.tar.gz|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.0.0/apache-camel-2.0.0.tar.gz]| [apache-camel-2.0.0.tar.gz.asc|http://www.apache.org/dist/activemq/apache-camel/2.0.0/apache-camel-2.0.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 [FireFox|http://www.mozilla.com/en-US/firefox/] {info} h3. Source Distributions ||Description||Download Link||PGP Signature file of download |Source for Windows| [apache-camel-2.0.0-src.zip|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.0.0/apache-camel-2.0.0-src.zip]| [apache-camel-2.0.0-src.zip.asc|http://www.apache.org/dist/activemq/apache-camel/2.0.0/apache-camel-2.0.0-src.zip.asc]| |Source for Unix/Linux/Cygwin| [apache-camel-2.0.0-src.tar.gz|http://www.apache.org/dyn/closer.cgi/activemq/apache-camel/2.0.0/apache-camel-2.0.0-src.tar.gz]| [apache-camel-2.0.0-src.tar.gz.asc|http://www.apache.org/dist/activemq/apache-camel/2.0.0/apache-camel-2.0.0-src.tar.gz.asc]| h3. 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|http://maven.apache.org/guides/introduction/introduction-to-the-pom.html] is: {code:xml} <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>2.0.0</version> </dependency> {code} h3. SVN Tag Checkout {code} svn co http://svn.apache.org/repos/asf/activemq/camel/tags/camel-2.0.0 {code} h2. Changelog TOOD: Update to 2.0 For a more detailed view of new features and bug fixes, see the [release notes|http://issues.apache.org/activemq/secure/ReleaseNote.jspa?projectId=11020&styleName=Html&version=11900] {jiraissues:url=http://issues.apache.org/activemq/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?&pid=11020&fixfor=11900&sorter/field=issuekey&sorter/order=DESC&tempMax=1000}
Div
style
padding-right:20px;float:left;margin-left:-20px;

Image Added

Div
stylemin-height:200px

New and Noteworthy

Welcome to the 2.0.0 release which approx 760 issues resolved (new features, improvements and bug fixes such as...)

  • Introduced type converter registry to allow end users to programmatic get access to this registry
  • major improvements to Jetty for better handling of exception/faults and easier end-user customization how response should be written
  • major improvements to File for consuming files, now supporting pluggable sorting, filtering and idempotent repositories.
  • major refactor and improvements to FTP, aligning it with the File component.
  • minor improvements to JDBC, SQL, HTTP and MINA
  • major refactor and improvements to CXF component.  CxfBinding, HeaderFilterStrategy, Bus can be looked up from registry and configured at the endpoint level.
  • File and FTP producers added option to write files using a temporary name and then rename it to the real name after the write completes
  • SFTP added support for knownhosts and privatekey files
  • Mail now supports setting additional SUN java mail properties
  • MINA now supports setting text line delimiters for textline codec.
  • MINA producer now throws CamelExchangeException in case no response received from remote server when in sync mode (sync=true)
  • RedeliveryPolicy added support for ref attribute to reference a existing policy in the Registry
  • RedeliveryPolicy added delayPattern option for using a special pattern for setting different delay based on intervals
  • Added onWhen and retryUntil predicates to Exception Clause
  • List component renamed to Browse
  • Exception Clause is much smarter as it will use caused by exception hierarchy for matching as well (will use bottom ups)
  • Dead Letter Channel and Exception Clause now have onRedeliver to allow custom processing an Exchange before its being redelivered. Allowing you to work on the message being sent.
  • Added support for # syntax in Endpoint URI's to allow endpoint URI's to refer to bean in the Registry.
  • consumer. prefix can be omitted for scheduled polling consumers such as File, FTP consumers. Thus the URI options is more simpler and you don't have to remember which requires consumer. prefix and which doesn't.
  • Tracer improved to allow custom routing and processing of TraceEventMessage so you can store trace logs as you like, for instance in a database.
  • Tracer now also displays the previous node so you can see where the Exchange is coming from.
  • Quartz has added support for stateful jobs.
  • Introduced @FallbackConverter for using annotation based fallback type converters
  • Extended content enrichment support via the enrich DSL element.
  • Simple language now supports a basic set of operators.
  • Aggregator now supports grouped exchanges out of the box, so you can combine all aggregated exchanges into a single grouped exchange going out.
  • Multiple inputs can be define as input to routes: from("activemq:queue:order", "file://order").to("bean:handleOrder");
  • CXF component supports a new "cxfbean" endpoint that allows RESTful requests to be routed to JAXRS annotated service beans.
  • Setting cron expression in camel-quartz improved.
  • Better handling of interrupts while shutting down.
  • The JMSReplyTo destination is available as Exchange property when consuming JMS messages.
  • Better support for InOptionalOut Message Exchange Pattern.
  • Pluggable Class Resolvers SPI for class resolvers allowing third party platforms such as JBoss to provide integration with Camel.
  • Refined API to reduce package tangling.
  • Introduced wireTap node for the Wire Tap EIP pattern, supporting the traditional tapping and sending a new message.
  • Added fromF and toF in the Java DSL to build uri strings using String.format with arguments, e.g.: fromF("ftp://%s@myserver?password=%s", user, password)..to
  • Improved tooling being able to retrieve more runtime information from the CamelContext
  • Scala DSL is improved
  • Added JmsMessageType option to JMS to allow you to set which javax.jms.Message implementation to use for sending a JMS message.
  • Fixed a rare bug when JMX is disabled, a Dead Letter Channel could mistakenly be added to some routes, when a global noErrorHandler was configured.
  • JMS is now able to preserve hyphen in JMS keys (eg Content-Type can be sent as a Message header). Introduced pluggable strategy to allow end users to use their custom key formatter for encode/decode.
  • Added option transferExchange to JMS so you can transfer the Exchange over the wire. Can be used to use JMS queues for Dead Letter Channel to preserve all information from the failed Exchange including the original exception with stack trace.
  • Added option transferException to JMS so when using Request Reply messaging with JMS, any caused exception on the server side will be returned as response to the client.
  • Added rollback as DSL keyword to force a rollback of the given Exchange. Does this by throwing an org.apache.camel.RollbackExchangeException.
  • Added SOAP Message Header filtering capability in camel-cxf component.
  • ProducerTeamplate API reworked for sendBody operations to return void, as they are InOnly. Use requestBody if you need InOut.
  • Introduced ConsumerTemplate supporting the Polling Consumer EIP
  • Custom endpoints with Spring @ManagedResource is now also registered in the mbean server.
  • The default error handler is changed from Dead Letter Channel to DefaultErrorHandler.
  • HTTP component added option throwException that can be disabled to allow failed response codes to be returned without throwing a HttpOperationsFailedException.
  • Overhaul and improvements to the Try Catch Finally DSLs, so they are on pair with the Exception Clause.
  • Overhaul and improvements to the Intercept DSLs. Added new interceptSendToEndpoint to intercept sending to a given Endpoint.
  • Added the notion of a Channel in the routes.
  • Added support to navigate the routes at runtime, so you can dynamic change or affect the processors in the routes.
  • Introduced a new Async API for asynchronous messaging.
  • Jetty now supports configuring Handler for e.g. security.
  • Jetty connector can now be shared among multiple CamelContext
  • iBATIS added option to set StatementType for fine grained control of which SqlMapClient operation to invoke. Allowing iBATIS component to be used like SQL or the JDBC component.
  • Added OnCompletion callback to Exchange so you can do custom routing when an Exchange is completed. You can for instance use it to send an email if an Exchange failed.
  • Added Failover as load balancer.
  • Added throwException to the DSL.
  • Added @Handler annotation to mark a method to be invoked when using POJO in routes.
  • Predicate uses type coercion for improving matching, thus allowing you for instance to compare a String with an Integer, "true" with a boolean, or enum type as string etc.
  • Started to standardize consumers that supported batching as a Batch Consumer.
  • Connection pooling for FTP and MINA producers. This allows thread safe concurrency usage of these components out of the box. The connection pooling is pluggable so you can use a 3rd party pool framework.
  • Added option fileExist to File and FTP component. This option allows you to configure what should happen when you write a file and an existing file with that name already exists. The File producer will now by default Override existing files. In Camel 1.x it would default append.
  • SEDA and VM now supports Request Reply and waiting for the reply if one expected.
  • Fixed issue with using 3rd party annotations and Camel annotations in same POJO class. Now all annotations is processed by Spring.
  • Added Jackson as supported library for the JSON data format.
  • Simplified using Delayer especially in Spring DSL.
  • Improved Idempotent Consumer to eagerly detect duplicated messages for in progress exchanges.
  • Added Camel property to set a max chars limit for DEBUG logs Message bodies. To avoid logging very big payloads. The default limit is 1000 chars.
  • Configuration of http proxy is now possible with the HTTP component
  • Message Filter EIP marks Exchanges as filtered and is now skipped for aggregation in AggregationStrategy for example used when doing Splitter or Aggregator
  • DefaultErrorHandler is now just as powerful as Dead Letter Channel support redelivery et. all.
  • Dead Letter Channel will by default handle exceptions.
  • TransactionErrorHandler is now just as powerful as Dead Letter Channel support redelivery et. all.
  • Introduced <packageScan> tag in camel-spring to replace <packages> and it support ANT path style filtering of classes to include/exclude.
  • Stream caching is now default disabled. Improved how to configure it as enabled/disabled.
  • Various Camel annotations such as @Consume have new option context to specify a particular CamelContext it should apply for. Needed when you have multiple CamelContext.
  • Major improvements to Tracer as its now much more fine grained and capable of tracing sub routes and all the advanced stuff such as Intercept, Exception Clause and OnCompletion.
  • Introduced PollingConsumerPollStrategy as a pluggable strategy for scheduled consumers, allowing you to control what should happen if an exception occurred during the initial phase of poll, such as a file consumer not being able to connect to a network drive.
  • Added pollEnrich to DSL supporting using a Polling Consumer with the Content Enricher EIP pattern. This allows you for instance to poll a file (or FTP file) during routing directly in the DSL.
  • Improved endpoint resolution to better detect similar endpoints and be more tolerant for minor user input mistakes.
  • FTP now supports trying to reconnect a number of times in case a connection to the remote FTP server could not be established. There are options to control this behavior. |
  • When running in OSGi Camel will also lookup in OSGi registry when doing Registry lookup. Will first lookup in OSGi, and then the default Registry.
  • Added AOP to do custom processing before routing using AOP concepts such as: around, before, after etc.
  • Tracer, Delayer, Stream caching and handle fault now has higher granularity as you can configure it on both camel context and per route level. Where per route will override camel context level.
  • Exchange api cleanup. Complete removal of specialized Exchange using generics.
  • Merged out and fault semantics.
  • Async API improved with client API that uses callbacks that are invoked when the exchange is done allowing you to gather the response in callbacks.
  • Headers in org.apache.camel.Message is now case insensitive meaning that you can lookup headers using different cased keys such as Foo and foo will return the same value. This reduces mistakes when headers from HTTP protocols is used as they can contain different cases.
  • Performance improvements
  • Fixes for Camel Maven Archetypes
  • Added SSL support to Camel IRC
  • Many fixes in the CXF, FTP, Log, Mail, JMS and others
  • Major improvements and fixes in Bindy
  • Removed platforms specific encoding from kits
  • Fixed issues related to class loading in OSGi
  • Bean also supports lookup in OSGi registry
  • Introduced <pacakgeScan> in Spring XML that supports ANT path style filtering
  • Introduced PollingConsumerPollStrategy as pluggable strategy for fine grained error handling with Polling Consumer
  • Stream caching is disabled by default
  • Camel using Spring DSL will automatic register a Producer and/or ConsumerTemplate if not defined already using ids template, consumerTemplate. Convention over configuration.

New Enterprise Integration Patterns

New Components

New DSL

  • Scala

New Annotations

New Data Formats

New Languages

New Examples

API breaking

Core API

Specialized Exchange

All specializations of org.apache.camel.Exchange are now removed. You should use org.apache.camel.impl.DefaultExchange. Although it looked like a good idea initially we recognized that the specialized Exchanges were not really necessary and by removing them we can avoid a lot of unnecessary copying and improve throughput.

Fault and Out Consolidation

The get/set Fault apis on the Exchange are now removed. Faults represent application specific errors and are recognized by some protocols. As a result Camel treats faults as out in an exchange. The org.apache.camel.Message interface has not a get/setFault(boolean) api to identify out messages that represent in fact a fault.
Since Faults represent persistent errors (as opposed to exceptions that represent transient errors) Camel does not try (as in previous versions) to recover from them (i.e. the error handler does not trigger) unless handling faults as exceptions is explicitly enabled.

Exchange copy() api

We also consolidated redundant copy related apis in org.apache.camel.Exchange as they were pretty much doing the same thing. The following two apis were removed newInstance(), copyFrom(Exchange). copy(boolean) found a better home at org.apache.camel.util.ExchangeHelper.

Client API

Routes

The org.apache.camel.Routes interface have been renamed to org.apache.camel.RoutesBuilder and having a more precise and simpler interface.
This only affects advanced users that implement their own route builder integration with Camel from a foreign languages such as Ruby etc.

StreamCache

Stream caching is now default disabled. If you use streams and want Camel to cache the stream in case you for instance use Camel to do redeliveries then you must enable stream cache so the stream can be re-read on delivery.

AggregationStrategy

The payload is now always only stored in IN when you do custom aggregation using this strategy interface.
Before the payload could also be in OUT and it could be confusing where to get the real payload you should use.

ProducerTemplate

The sendBody methods now return void for InOnly messaging. Use requestBody if you want InOut messaging.

AggregationStrategy

The aggregate method is now also invoked on the very first exchange. Allowing the end users to be in full power.
At this first invocation the oldExchange parameter is null.

Notable changes to DSL

  • Renamed DSL operations
    • splitter -> split
    • resequencer -> resequence
    • aggregator -> aggregate
    • delayer -> delay
    • throttler -> throttle
    • expression -> language
    • try (Spring DSL) -> doTry
    • catch (Spring DSL) -> doCatch
    • finally (Spring DSL) -> doFinally
    • tryBlock (Java DSL) -> doTry
    • handle (Java DSL) -> doCatch
    • finallyBlock (Java DSL) -> doFinally
    • intercept -> interceptFrom
    • thread -> threads
    • throwFault has been removed, you can set a the fault using the exchange.setFault method
  • Renamed DSL in SpringBuilder
    • bean -> lookup

Components

  • The List component is renamed to Browse component
  • The Queue component has been removed
  • The FTP component have renamed some of its URI options
  • The File component have renamed some of its URI options
  • The CXF component have been refactored and APIs have been simplified

Known Issues

See known issues from previous releases.

If you have multiple Mail endpoints and defined recipients on these endpoints, Camel could mixup and only use the recipients defined on the last endpoint. See more at CAMEL-2232.

Important changes to consider when upgrading

If you specialized existing components and used specialized org.apache.camel.Exchange classes, your code will need updating to use org.apache.camel.impl.DefaultExchange instead.

The default error handler is no longer Dead Letter Channel but DefaultErrorHandler that by default do not try to redeliver.

Getting the Distributions

Binary Distributions

Description

Download Link

PGP Signature file of download

Windows Distribution

apache-camel-2.0.0.zip

apache-camel-2.0.0.zip.asc

Unix/Linux/Cygwin Distribution

apache-camel-2.0.0.tar.gz

apache-camel-2.0.0.tar.gz.asc

Info
titleThe 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-2.0.0-src.zip

apache-camel-2.0.0-src.zip.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:

Code Block
xml
xml
<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-core</artifactId>
  <version>2.0.0</version>
</dependency>

SVN Tag Checkout

Code Block
svn co http://svn.apache.org/repos/asf/camel/tags/camel-2.0.0

Changelog

For a more detailed view of new features and bug fixes, see: