LibraryPrintFeedback

Migration Guide

Version 7.1

December 2012
Trademark Disclaimer
Third Party Acknowledgements

Updated: 08 Jan 2014

Table of Contents

1. Runtime Changes
2. Apache ActiveMQ Issues
New Features
API Changes
Transport Protocol Changes
Dependency Upgrades
Migrating Clients
3. Apache Camel Issues
Summary of Apache Camel 2.9 to Apache Camel 2.10 Migration
Spring Framework
Product Dependencies
Namespace Changes
JAR Dependencies
DSL Changes
API Changes
Component Updates
Miscellaneous Changes
4. Apache CXF Issues
Security Caching Changes
Runtime Changes
API Changes
Dependencies
5. Migrating from Fuse HQ to JBoss Operations Network

List of Tables

3.1. Renamed DSL Commands

Fuse ESB Enterprise 7.1 requires Maven 3.

[Important]Important

Maven 2.x is not supported.

Apache ActiveMQ now supports the MQTT (MQ Telemetry Transport) transport. There are three variations of the MQTT transport: plain MQTT (mqtt: URL), MQTT+NIO (mqtt+nio: URL), and MQTT+NIO+SSL (mqtt+nio+ssl: URL).

The following methods are deprecated in Apache ActiveMQ 5.7.0:

org.apache.activemq.broker.jmx.BrokerViewMBean.getOpenWireURL

Use BrokerViewMBean.getTransportConnectors() or BrokerViewMBean.getTransportConnectorByType(String) instead.

org.apache.activemq.broker.jmx.BrokerViewMBean.getSslURL

Use BrokerViewMBean.getTransportConnectors() or BrokerViewMBean.getTransportConnectorByType(String) instead.

org.apache.activemq.broker.jmx.BrokerViewMBean.getStompURL

Use BrokerViewMBean.getTransportConnectors() or BrokerViewMBean.getTransportConnectorByType(String) instead.

org.apache.activemq.broker.jmx.BrokerViewMBean.getStompSslURL

Use BrokerViewMBean.getTransportConnectors() or BrokerViewMBean.getTransportConnectorByType(String) instead.

org.apache.activemq.broker.jmx.BrokerView.getOpenWireURL

Use BrokerViewMBean.getTransportConnectors() or BrokerViewMBean.getTransportConnectorByType(String) instead.

org.apache.activemq.broker.jmx.BrokerView.getSslURL

Use BrokerViewMBean.getTransportConnectors() or BrokerViewMBean.getTransportConnectorByType(String) instead.

org.apache.activemq.broker.jmx.BrokerView.getStompURL

Use BrokerViewMBean.getTransportConnectors() or BrokerViewMBean.getTransportConnectorByType(String) instead.

org.apache.activemq.broker.jmx.BrokerView.getStompSslURL

Use BrokerViewMBean.getTransportConnectors() or BrokerViewMBean.getTransportConnectorByType(String) instead.

org.apache.activemq.selector.SimpleCharStream.getColumn

org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.getDatabaseLocker

Use the LockableServiceSupport.getLocker() method instead.

org.apache.activemq.thread.DefaultThreadPools.getDefaultTaskRunnerFactory

org.apache.activemq.selector.SimpleCharStream.getLine

org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter.setDatabaseLockedWaitDelay(int)

Use Locker.setLockAcquireSleepInterval(long) instead.

org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.setDatabaseLocker(Locker)

Use the LockableServiceSupport.setLocker(org.apache.activemq.broker.Locker) method instead.

org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.setLockAcquireSleepInterval(long)

Use Locker.setLockAcquireSleepInterval(long) instead.

org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.setUseDatabaseLock(boolean)

Use LockableServiceSupport.setUseLock(boolean) instead.

In Apache Camel 2.10, the following changes have been made to the Java API:

ShutdownStrategy

Since Apache Camel version 2.10, the shutdownForced and forceShutdown methods have been added to the org.apache.camel.spi.ShutdownStrategy interface.

ShutdownAware

Since Apache Camel version 2.10, the ShutdownAware interface inherits from the ShutdownPrepared interface, which defines the additional prepareShutdown method.

RouteBuilder

Since Apache Camel version 2.10, the errorHandler method from the org.apache.camel.builder.RouteBuilder interface returns void.

SimpleLanguage

Since Apache Camel version 2.10, the SimpleLanguage constructor that takes custom start and end tokens has been removed. Use the static SimpleLanguage.changeFunctionStartToken method and the SimpleLanguage.changeFunctionEndToken method instead.

LifecycleStrategy

Since Apache Camel version 2.10, the onThreadPoolRemove method and the onErrorHandlerRemove method have been added to the org.apache.camel.spi.LifecycleStrategy interface.

OnExceptionDefinition

Since Apache Camel version 2.10, the retryWhile(Expression) method has been removed from the org.apache.camel.model.OnExceptionDefinition interface. Use the retryWhile(Predicate) method instead.

TypeConverter

Since Apache Camel version 2.10, the convertTo methods on org.apache.camel.TypeConverter throw TypeConversionException, if an exception occurs during type conversion. New tryConvertTo methods have been added to TypeConverter, which ignore any exceptions that might occur during conversion.

Message

Since Apache Camel version 2.10, the getBody(type) method and the getHeader(name, type) method from org.apache.camel.Message now throw TypeConversionException, if an exception occurs during type conversion.

UnitOfWork

Since Apache Camel version 2.10, the containsSynchronization method has been added to the org.apache.camel.spi.UnitOfWork interface.

Exchange

Since Apache Camel version 2.10, the containsSynchronization method has been added to the org.apache.camel.Exchange interface.

Since Apache Camel version 2.10, the isTransactionRedelivered method has been added to the org.apache.camel.Exchange interface.

CamelContext

Since Apache Camel version 2.10, the setManagementName method has been removed from org.apache.camel.CamelContext.

GenericFile

Since Apache Camel version 2.10, the isDirectory method has been added to the org.apache.camel.component.file.GenericFile interface.

TypeConverterRegistry

Since Apache Camel version 2.10, the getStatistics method has been added to the org.apache.camel.spi.TypeConverterRegistry interface.

GenericFileProcessStrategy

Since Apache Camel version 2.10, the abort method has been added to the org.apache.camel.component.file.GenericFileProcessStrategy interface.

Since Apache Camel 2.7, Apache Camel has switched from Apache Commons Logging to the Simple Logging Facade for Java (slf4j). If your application code uses log4j logging, you must now include a dependency on the slf4j-log4j12 artifact. For example, if you use the Maven build system, you would add the following Maven dependency to your POM file:

<project ...>
  <properties>
    <slf4j-version>1.6.1</slf4j-version>
    ...
  </properties>
  ...
  <dependencies>
    ...
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j-version}</version>
    </dependency>
    ...
  </dependencies>
  ...
</project>

Where the slf4j version used by Apache Camel 2.8.0. is 1.6.1.

Since Apache Camel 2.7, some components have had their third party dependencies upgraded, as follows:

In Apache Camel 2.8, some components have had their third party dependencies upgraded, as follows:

  • FTP—is upgraded to use Commons Net 2.2 (from 2.0).

  • Spring Web Services—is upgraded to release 2.0.2.

  • Cometd—is upgraded to 2.1.0 (from 1.0.1).

In Apache Camel 2.9, some components have had their third party dependencies upgraded, as follows:

  • Cometd—is upgraded to 2.3.1 (from 2.1.1).

  • EasyMock—is upgraded to 3.0 (from 2.5.2).

  • EHCache—is upgraded to 2.4.3 (from 2.3.0).

  • Jackrabbit—is upgraded to 2.2.4 (from 1.5.5).

  • JCR API—is upgraded to 2.0 (from 1.0).

  • OGNL—is upgraded to 3.0.2 (from 2.7.3).

  • XStream—is upgraded to 1.4.1 (from 1.3.1).

In Apache Camel 2.10, some components have had their third party dependencies upgraded, as follows:

  • AHC—is upgraded to 1.7.5 (from 1.6.5).

  • AWS—is upgraded to 1.3.10 (from 1.2.2).

  • commons-codec—is upgraded to 1.6 (from 1.4).

  • commons-net—is upgraded to 3.1.0 (from 2.2).

  • CXF—is upgraded to 2.6.1 (from 2.5.1).

  • EHCache—is upgraded to 2.5.1 (from 2.4.3).

  • Freemarker—is upgraded to 2.3.19 (from 2.3.18).

  • Google App Engine—is upgraded to 1.6.6 (from 1.5.0).

  • Groovy—is upgraded to 1.8.6 (from 1.8.5).

  • Hadoop—is upgraded to 1.0.3 (from 0.20.203.0).

  • HTTP4 core—is upgraded to 4.1.4 (from 4.1.2).

  • HTTP4 client—is upgraded to 4.1.3 (from 4.1.2).

  • Hazelcast—is upgraded to 2.0.2 (from 1.9.4.4).

  • Hawtbuf—is upgraded to 1.9 (from 1.7).

  • Jackson—is upgraded to 1.9.7 (from 1.9.2).

  • Jackrabbit—is upgraded to 2.2.11 (from 2.2.4).

  • Jasypt—is upgraded to 1.9.0 (from 1.7).

  • Javax Mail—is upgraded to 1.4.5 (from 1.4.4).

  • Jersey—is upgraded to 1.12 (from 1.10).

  • JClouds—is upgraded to 1.4.0 (from 1.3.1).

  • Jettison—is upgraded to 1.3.1 (from 1.3).

  • Jetty—is upgraded to 7.5.4 (from 7.5.3).

  • JRuby—is upgraded to 1.6.7 (from 1.6.6).

  • JSCH—is upgraded to 0.1.48 (from 0.1.44).

  • JuEL—is upgraded to 2.1.4 (from 2.1.3).

  • Kratti—is upgraded to 0.4.5 (from 0.4.1).

  • Logback—is upgraded to 1.0.6 (from 1.0.0).

  • Lucene—is upgraded to 3.6.0 (from 3.0.3).

  • MyBatis—is upgraded to 3.1.1 (from 3.0.6).

  • Netty—is upgraded to 3.5.1 (from 3.2.6).

  • OGNL—is upgraded to 3.0.4 (from 3.0.2).

  • QPid—is upgraded to 0.16 (from 0.12).

  • QuickFIX/J—is upgraded to 1.5.2 (from 1.5.1).

  • Restlet—is upgraded to 2.0.14 (from 2.0.10).

  • SNMP—is upgraded to 1.10.1 (from 1.8.1).

  • Solr—is upgraded to 3.6.0 (from 3.5.0).

  • Shiro—is upgraded to 1.2.0 (from 1.1.0).

  • Stringtemplate—is upgraded to 3.2.1 (from 3.0).

  • Spring—is upgraded to 3.0.7/3.1.1 (from 3.0.6).

  • Spring integration—is upgraded to 2.1.2 (from 2.0.5).

  • Spring security—is upgraded to 3.1.0 (from 3.0.7).

  • Spymemcached—is upgraded to 2.8.0 (from 2.5).

  • Tagsoup—is upgraded to 1.2.1 (from 1.2).

  • Woodstox—is upgraded to 4.1.2 (from 4.1.1).

  • XStream—is upgraded to 1.4.2 (from 1.4.1).

  • XML Security—is upgraded to 1.5.1 (from 1.4.5).

The following changes have been made to the Java API:

ProducerTemplate

Since Apache Camel 2.0, the org.apache.camel.ProducerTemplate class has been refactored so that sendBody methods now return void for InOnly messaging. Use one of the requestBody methods for InOut messaging. See Producer and Consumer Templates in Programming EIP Components for more details.

Exchange

Since Apache Camel 2.0, all specializations of org.apache.camel.Exchange are now removed. You should now always use the org.apache.camel.impl.DefaultExchange type. After analyzing the how exchanges are used, it was realized that the specialized exchanges were not really necessary and by removing them we can avoid a lot of unnecessary copying and improve throughput.

One implication of this change is that Producer and Consumer types no longer use generic type declarations. For example, instead of referring to Producer<DefaultExchange> you can just refer to a plain Producer.

Since Apache Camel version 2.10, the containsSynchronization method has been added to the org.apache.camel.Exchange interface.

Since Apache Camel version 2.10, the isTransactionRedelivered method has been added to the org.apache.camel.Exchange interface.

Exchange getFault() and setFault() methods

Since Apache Camel 2.0, the getFault() and setFault() methods are now removed from Exchange. Faults represent application specific errors and are recognized by some protocols. Consequently, it makes more sense to store a fault as the Out message in an exchange (accessed using getOut() and setOut()). The org.apache.camel.Message interface now exposes the boolean isFault() and setFault() methods that are used to identify Out messages that represent faults.

Because faults represent persistent errors (as opposed to exceptions, which represent transient errors), Camel does not try (as in previous versions) to recover from them (for example, the error handler does not trigger) unless handling faults as exceptions is explicitly enabled.

AggregationStrategy

Since Apache Camel 2.0, the following changes have been made to the implementation of org.apache.camel.processor.aggregate.AggregationStrategy:

  • The aggregate() method is now invoked on the very first exchange. For this first invocation, the oldExchange parameter is null.

  • The payload is now always stored in the In message when you do custom aggregation using this strategy interface.

Aggregator

Since Apache Camel 2.3, the aggregator has been re-implemented and some options have been replaced. In particular, the algorithms for determining batch completeness have changed significantly, so that the batchSize, outBatchSize, batchTimeout, and batchConsumer options are no longer supported. To understand the new mechanisms for completeness testing, it is recommended that you read Aggregator in Implementing Enterprise Integration Patterns.

CamelContext

Since Apache Camel version 2.1, the following changes have been made to the CamelContext class:

  • The shouldStartContext() method is replaced by the autoStartup() method.

  • The getLifecycleStrategy() method has been renamed getLifecycleStrategies() and now returns a java.util.List.

Since Apache Camel version 2.5, the following changes have been made to the CamelContext class:

  • The stopRoute() method is now integrated with the graceful shutdown strategy (see Controlling Start-Up and Shutdown of Routes in Implementing Enterprise Integration Patterns). You can revert to the old behavior by specifying an explicit timeout.

Since Apache Camel version 2.10, the setManagementName method has been removed from org.apache.camel.CamelContext.

ManagementNamingStrategy

Since Apache Camel version 2.1, the org.apache.camel.spi.ManagementNamingStrategy has had methods renamed and method signatures changed in order to accomodate the JMX features in this release.

PollingConsumerPollStrategy

Since Apache Camel version 2.3, the begin() method from org.apache.camel.spi.PollingConsumerPollStrategy returns a boolean value, where true indicates that polling can now start, while false indicates that polling should be skipped.

RoutePolicy

Since Apache Camel version 2.3, the org.apache.camel.spi.RoutePolicy interface has the new method, onInit().

Since Apache Camel version 2.9, the org.apache.camel.spi.RoutePolicy interface has the following new methods: onRemove, onStart, onStop, onSuspend, and onResume.

Message

Since Apache Camel version 2.3, the org.apache.camel.Message interface has the new method, removeHeaders().

Since Apache Camel version 2.10, the getBody(type) method and the getHeader(name, type) method from org.apache.camel.Message now throw TypeConversionException, if an exception occurs during type conversion.

DefaultComponent and DefaultEndpoint

Since Apache Camel version 2.3, the getExecutorService() and setExecutorService() methods have been removed from the org.apache.camel.impl.DefaultComponent and org.apache.camel.impl.DefaultEndpoint classes. To create a thread pool, use the ExecutorServiceManager object that is returned by the CamelContext.getExecutorServiceManager() method.

For full details of the new threading model, see Threading Model in Implementing Enterprise Integration Patterns.

If you have developed a custom component and you have implemented an endpoint by inheriting from the DefaultEndpoint class, it is strongly recommended that you override the doStart() and doStop() methods, instead of overriding the start() and stop() methods. Since Apache Camel version 2.7, the default endpoint implementation ensures that the doStart() and doStop() methods are called once and once only.

GenericFile

Since Apache Camel version 2.3, the org.apache.camel.component.file.GenericFile class is no longer serializable (does not inherit from java.io.Serializable).

Since Apache Camel version 2.10, the isDirectory method has been added to the org.apache.camel.component.file.GenericFile interface.

RouteDefinition

Since Apache Camel version 2.3, the adviceWith() method from org.apache.camel.model.RouteDefinition takes a CamelContext instance as its first parameter.

toAsync

Since Apache Camel version 2.4, the toAsync() DSL command has been removed. Asynchronous dispatch is now implemented directly (where appropriate) in specific Apache Camel components and DSL commands.

Policy

Since Apache Camel version 2.4, the org.apache.camel.spi.Policy interface has the new method, beforeWrap(). For quick migration of your Policy classes, simply add an empty method implementation.

onException

Since Apache Camel version 2.4, the retryUntil option on onException has been renamed to retryWhile, because this reflects the meaning of the option more accurately (it continues to retry while its argument is true).

Routing Slip

Since Apache Camel version 2.4, you can use either a string or an expression to specify the name of the routing slip header. The Spring DSL has changed, such that the headerName attribute is now replaced by the headerName child element. For example, to specify the name of the routing slip header to be myHeader, use an XML fragment like the following:

<route>
  <from uri="direct:a"/>
  <routingSlip ignoreInvalidEndpoints="true">
    <headerName>myHeader</headerName>
  </routingSlip>
</route>  
ProducerTemplate

Since Apache Camel version 2.4, all sendBody and requestBody methods from the ProducerTemplate class throw a CamelExecutionException, which wraps the original exception.

RouteBuilder

Since Apache Camel version 2.4, the simple and xpath expression builder methods are built into the RouteBuilder class. It is, therefore, no longer necessary to use static imports to access these languages. In your existing code, the Java compiler might complain, if you use static imports for simple and xpath. To fix this, just remove the static imports.

Since Apache Camel version 2.10, the errorHandler method from the org.apache.camel.builder.RouteBuilder interface returns void.

ManagementAware

Since Apache Camel version 2.6, the org.apache.camel.spi.ManagementAware interface is deprecated. If you want to expose a bean through JMX, use the Spring JMX annotations instead.

For example, you would annotate a class using the Spring @ManagedResource annotation, and then annotate each managed attribute using @ManagedAttribute and each managed operation using @ManagedOperation—see the Spring Reference Guide for details.

DataFormat

Since Apache Camel version 2.6, when implementing a custom data format class, you can also optionally implement the Service and CamelContextAware interfaces in order to receive callbacks at initialization and shutdown time. For example, you can implement the MyCustomDataFormat class with callbacks, as follows:

// Java
...
public class MyCustomDataFormat implements DataFormat, Service, CamelContextAware {
    ...
}
ScheduledPollConsumer

Since Apache Camel version 2.6, the poll method in ScheduledPollConsumer now returns the number of messages actually processed from the poll.

LoggingLevel

Since Apache Camel version 2.7, the FATAL logging level has been removed from org.apache.camel.LoggingLevel. Use ERROR instead.

BinaryPredicate

Since Apache Camel version 2.7, the getLeftValue() and getRightValue() methods have been removed from org.apache.camel.BinaryPredicate.

PropertiesParser

Since Apache Camel version 2.7, the parsePropertyValue() method from the org.apache.camel.component.properties.PropertiesParser interface has been renamed to parseProperty() and the signature has changed from:

// Java
// Versions prior to 2.7
String parsePropertyValue(String value);

To the new signature:

// Java
// Camel 2.7 or later
String parseProperty(String key, String value, Properties properties);
ManagedCamelContext

Since Apache Camel version 2.7, the sendBody and requestBody methods from the org.apache.camel.management.mbean.ManagedCamelContext take an Object instead of a String as their second parameter. Two new methods, sendStringBody and requestStringBody, have been added that take a String as their second parameter.

The new method signatures are as follows:

// NEW method signagures
void sendBody(String endpointUri, Object body);
Object requestBody(String endpointUri, Object body);
void sendStringBody(String endpointUri, String body);
Object requestStringBody(String endpointUri, String body);
errorHandler

Since Apache Camel version 2.8, the deprecated handled methods on errorHandler have been removed. If you need the functionality of the handled method (for example, to set handled(false)), you must migrate to use onException, which still supports the handled method.

InterceptStrategy

Since Apache Camel version 2.8, the semantics of the wrapProcessorInInterceptors method from the org.apache.camel.spi.InterceptStrategy class have changed, so that the actual OutputDefinition instance is passed to wrapProcessorInInterceptors.

ExecutorServiceStrategy

Since Apache Camel version 2.9, the org.apache.camel.spi.ExecutorServiceStrategy is deprecated in favor of the new ExecutorServiceManager class, which has a slightly reduced and improved API. For more details, see Threading Model in Implementing Enterprise Integration Patterns.

ResourceBasedComponent

Since Apache Camel version 2.9, the org.apache.camel.component.ResourceBasedComponent class from camel-spring is deprecated. Use org.apache.camel.impl.DefaultComponent from camel-core instead.

ResourceBasedEndpoint

Since Apache Camel version 2.9, the org.apache.camel.component.ResourceBasedEndpoint class from camel-spring is deprecated in favor of the new org.apache.camel.component.ResourceEndpoint in camel-core, and its dependency on Spring JARs has been removed. Use the new APIs on ResourceEndpoint to load resources.

PollingConsumerPollingStrategy

Since Apache Camel version 2.9, the signature of the method, beforePoll, from the org.apache.camel.PollingConsumerPollingStrategy class has changed.

ServiceSupport

Since Apache Camel version 2.9, ServiceSupport does not handle child services any more. The new class, org.apache.camel.support.ChildServiceSupport, now handles this case. Additionally the org.apache.camel.StatefulService interface has been added, which provides access to ServiceSupport methods without knowing the implementation.

DataFormatResolver

Since Apache Camel version 2.9, DataFormatResolver does not support the resolveDataFormatDefinition method anymore. The current implementations for OSGi and Default were exactly the same, so this code was moved to DefaultCamelContext.

CamelContext

Since Apache Camel version 2.9, all methods in CamelContext that reference model elements are deprecated. The new interface, org.apache.camel.model.ModelCamelContext, has been created to hold these methods

FileUtil

Since Apache Camel version 2.9, renameFile from org.apache.camel.util.FileUtil has a new copyAndDeleteOnRenameFail boolean option and throws IOException in case of an exception.

CamelTestSupport

Since Apache Camel version 2.9, the context, template, and consumer fields in orb.apache.camel.test.CamelTestSupport are no longer static.

WrappedFile

Since Apache Camel version 2.9, the org.apache.camel.WrappedFile interface has been introduced, as an abstraction of the GenericFile class, for use outside the file component.

ScriptBuilder

Since Apache Camel version 2.9, all Spring-related methods in the org.apache.camel.builder.script.ScriptBuilder class have been removed (for example, methods taking org.springframework.core.io.Resource as an argument).

ErrorHandlerBuilder

Since Apache Camel version 2.9, the org.apache.camel.builder.ErrorHandlerBuilder interface's configure method takes a org.apache.camel.spi.RouteContext argument.

ShutdownStrategy

Since Apache Camel version 2.10, the shutdownForced and forceShutdown methods have been added to the org.apache.camel.spi.ShutdownStrategy interface.

ShutdownAware

Since Apache Camel version 2.10, the ShutdownAware interface inherits from the ShutdownPrepared interface, which defines the additional prepareShutdown method.

SimpleLanguage

Since Apache Camel version 2.10, the SimpleLanguage constructor that takes custom start and end tokens has been removed. Use the static SimpleLanguage.changeFunctionStartToken method and the SimpleLanguage.changeFunctionEndToken method instead.

LifecycleStrategy

Since Apache Camel version 2.10, the onThreadPoolRemove method and the onErrorHandlerRemove method have been added to the org.apache.camel.spi.LifecycleStrategy interface.

OnExceptionDefinition

Since Apache Camel version 2.10, the retryWhile(Expression) method has been removed from the org.apache.camel.model.OnExceptionDefinition interface. Use the retryWhile(Predicate) method instead.

TypeConverter

Since Apache Camel version 2.10, the convertTo methods on org.apache.camel.TypeConverter throw TypeConversionException, if an exception occurs during type conversion. New tryConvertTo methods have been added to TypeConverter, which ignore any exceptions that might occur during conversion.

UnitOfWork

Since Apache Camel version 2.10, the containsSynchronization method has been added to the org.apache.camel.spi.UnitOfWork interface.

TypeConverterRegistry

Since Apache Camel version 2.10, the getStatistics method has been added to the org.apache.camel.spi.TypeConverterRegistry interface.

GenericFileProcessStrategy

Since Apache Camel version 2.10, the abort method has been added to the org.apache.camel.component.file.GenericFileProcessStrategy interface.

The following classes have moved to a different Java package:

The following classes have been renamed:

Since Apache Camel version 2.7, the following classes have been renamed:

Since Apache Camel version 2.7, the following classes have moved to a different package:

Since Apache Camel version 2.8, the following classes have moved to a different package:

Since Apache Camel version 2.9, the following classes have moved to a different package:

Since Apache Camel version 2.0, the following changes have been made to the File and the FTP components:

[Important]Important

Both the File component and the FTP component have been extensively rewritten in Apache Camel 2.0. In particular, many of the component options have been renamed or modified. It is recommended that you check the configuration of your File and FTP endpoints against the latest component documentation—see File2 in EIP Component Reference and FTP2 in EIP Component Reference.

Since Apache Camel 2.8, the default value of the useFixedDelay option has changed from false to true.

Since Apache Camel 2.10, you can use the charset option on the File component to specify the character encoding to use for reading and writing files.

Since Apache Camel version 2.4, the following changes have been made to the FTP component:

Since Apache Camel version 2.5, the following changes have been made to the FTP component:

  • FTP consumer endpoints now traverse the file structure in a different way. It is recommended that you test any applications with FTP consumer endpoints to ensure that they are not affected by this change.

The Log in EIP Component Reference component no longer shows stream message bodies by default, but you can use the new showStreams option to enable that behavior. Likewise the Log component does not automatically convert the payload to the StreamCache type. For that you need to explicitly enable stream caching on the route or on the Camel context.

Since Apache Camel 2.8, pollEnrich now sets an empty message body, if the Content Enricher could not poll from the resource. Previously the old message body would be preserved.

Since Apache Camel 2.10, the pollEnrich DSL command now blocks, if no messages are available and no timeout has been configured.

Since Apache Camel 2.9, the Simple language has an improved syntax parser. Simple is now more strict and will report syntax errors for invalid input. For example, predicates now require literal text to be enclosed in quotes. The range operator also requires the range to be enclosed in quotes. For details, see The Simple Language in Routing Expression and Predicate Languages.

Since Apache Camel 2.10, the simple language no longer trims white space surrounding an expression in the Java DSL. On the other hand, the simple language does trims white space surrounding an expression in the XML DSL by default, but you can disable this behavior by setting trim="false" in the simple element.

In the Apache CXF versions prior to 2.6, it was possible to include all of the Apache CXF modules in your application by adding a dependency on the cxf-bundle artifact to your Maven pom.xml file—for example:

<project>
    ...
    <dependencies>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-bundle</artifactId>
            <version>...</version>
        </dependency>
        ...
    </dependencies>
</project>

From Apache CXF 2.6 onwards, however, the cxf-bundle artifact is no longer available. Instead of adding a single dependency on the cxf-bundle artifact, it is now necessary to add dependencies for each of the individual Apache CXF modules that your application depends on. For example, the basic set of Maven dependencies you would need for a simple JAX-WS Java application is as follows:

<project>
    ...
    <dependencies>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>2.6.0.fuse-71-047</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>2.6.0.fuse-71-047</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http-jetty</artifactId>
            <version>2.6.0.fuse-71-047</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.0.6.RELEASE</version>
        </dependency> 
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

To install JBoss ON, download the server from the Red Hat Customer Portal and follow the instructions for installing on your platform. See the Installation Guide.

JBoss ON agents and monitoring plug-ins are installed from the JBoss ON Web UI.