THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Wiki Markup |
---|
h1. Camel 2.11.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.11.0 release with approximately XXX issues resolved - including new features, improvements, and bug fixes, such as: * Added support for SOAP 1.2 in [SOAP] data format. * [Cache] operation for add/update now supports expiry headers to control time to live/idle/eternal. * Added {{allowNullBody}} option to [JMS] to configure whether sending messages with no body is allowed. * Added {{connectOnStartup}} option to [HDFS] to allow to connect on demand, to avoid having Hadoop block for long time connecting to the HDFS cluster, as it has a hardcoded 15 minute retry mechanism. * Added support for daily and weekly trends to [Twitter] component. * The [Camel Maven Archetypes] now generates projects without any license headers. * Added 'rejectOld' option to the [Resequencer] to prevent out of order messages from being delivered after capacity/timeout events occur * Further optimized [XPath] under concurrent load, and as well ensured resources are cleaned up eagerly * Added options {{allowNullBody}} and {{readLockMinLength}} to the [File|File2] and [FTP|FTP2] components. * Made {{changed}} read lock strategy on [FTP|FTP2] go faster (eg when the FTP server has a lot of files in the directory) if you enable the {{fastExistsCheck=true}} option as well. Notice that some FTP server may not support this. * [HL7] moves to HAPI 2.0 and supports using a dedicated Parser instance in the [HL7] MLLP codec and DataFormat. Added "Terser" language and expression to be able to extract fields from a parsed message. [HL7] now uses Apache Mina 2.x. * Add an option {{HttpMethodRestrict}} to restrict HTTP method in [Jetty] and [Servlet] * Add support for selection of [direct-vm] consumers by using ant-like path expression. * The [POJO Producing], and [POJO Consuming] with @Consume, @Produce, @EndpointInject now supports a new {{property} attribute to get the endpoint configuration from a bean property (eg using a getter method); this allows you to configure this on the bean using conventional bean configuration. * Testing with {{camel-test-blueprint}} on Windows no longer tries to cleanup after testing taking up 5 seconds and logging WARNs. * The [File|File2], and [FTP|FTP2] components now support {{fileExist=Move}} option to move any existing files before writing a file. * Added option {{loadStatisticsEnabled}} on [Camel JMX] to allow to disable load statistics if not needed (avoids a background thread being in use, to calculate the load stats). * Enabled "lazy connections" for [XMPP] providers via the {{testConnectionOnStartup}} option * Added a connection monitor to detect and fix dropped [XMPP] consumer connections at configurable {{connectionPollDelay}} intervals * Added an {{org.apache.camel.builder.ExchangeBuilder}} to build the [Exchange] using a builder pattern. * The [Camel Run Maven Goal] can now run [CDI] applications. * The Camel [CDI] component has improved a lot. * Added option {{allowRedeliveryWhileStopping}} to [error handlers|Dead Letter Channel] to control if redelivery is allowed during stopping/shutting down Camel or the route(s). Turning this option {{false}} allows to stop quicker by rejecting redelivery attempts. * Added support for specifying user info in Camel [Endpoint] urls, which contains the @ sign; now the @ sign can be given as is; without being encoded to %40. * Added robust connection support for [JMX]. Optional {{testConnectionOnStartup}} allows a JMX consumer to attach to a JMX server that becomes available _after_ the JMX endpoint starts; {{reconnectOnConnectionFailure}} enables re-connection of failed JMX connections. * [JAXB] and [SOAP] data format now supports controlling namespace prefix mappings when marshalling (eg to avoid prefixes such as ns2, ns3, ns4 etc.) * Added support for using raw uris when [Component]s create [Endpoint]s. This gives component writers full power in case their component has special syntax/notation for endpoint uri configurations. * [EIP]s configured with custom {{AggregationStrategy}} will now strict check the custom strategy exists in the [Registry] and no longer fallback and use a default strategy if not. h3. Fixed issues * Fixed [RoutePolicy] used from Spring XML with {{routePolicyRef}} may not invoke all callbacks on the policy. * Fixed [Mina] consumer to force disconnect upon timeout when doing request/reply, as late replies may cause side effects otherwise. * Fixed [simple] language with empty quoted literals in predicates, so you can compare against empty strings. * Fixed [SOAP] data format to set SOAP 1.1 namespace when marhsalling faults. * Fixed [SEDA] producer to send to the right BlockingQueue being attached on the [SEDA] endpoint so that the sent messages don't get lost. * Fixed using {{sendEmptyMessageWhenIdle=true}} on a batch consumer such as [File|File2] now working with [Aggregate|Aggregator2] EIP when using {{completionFromBatchConsumer}} * Fixed {{MockEndpoint.expectedBodiesReceivedInAnyOrder}} to allow asserting on multiple arrival of the same/equal bodies. * Fixed [MyBatis] to demarcate the running transactions properly while reading/writing from/to database. * Fixed [Jetty], [HTTP], [HTTP4], and [AHC] http components not working in bridge mode if content path have spaces * Fixed the [CXF] fallback convertor issue which camel will unregister it when the converter return null. * Fixed the issue that [File2] endpoints on windows without volume name in the path url. * Fixed the issue of unmarshaling pgp messages encrypted with ElGamal. * Fixed random [Load Balancer] to be even spread (before was a little less likely to pick the 1st) * Fixed [Timer] to not fire during starting [CamelContext] * Fixed [XMLSecurity DataFormat] to enable retrieval of password-protected private keys for asymmetric decryption * Fixed [Exception Clause] using {{maximumRedeliveries(-1)}} may be wrongly inherited by another {{onException}} during a redelivery process. h3. New [Enterprise Integration Patterns] h3. New Camel Karaf Command h3. New [Components] * {{[camel-cmis|cmis]}} - for integration of CMIS compliant content repositories * {{[camel-couchdb|CouchDB]}} - for integration with [Apache CouchDB|http://couchdb.apache.org/] * {{[camel-elasticsearch|ElasticSearch]}} - for [ElasticSearch|http://elasticsearch.org] integration * {{[camel-sjms|sjms]}} - for "Springless" JMS integration * {{[camel-neo4j|neo4j]}} - for talking to neo4j server from Camel. h3. DSL Changes * Added LoggingErrorHandler fluent builder to Scala DSL. h3. New Annotations h3. New [Data Formats|Data Format] h3. New [Languages] * [VTD-XML] - for fast and efficient XPath evaluation/splitting using the VTD-XML Library. {{camel-vtdxml}} hosted at [Camel Extra|http://camel-extra.googlecode.com/] h3. New [Examples] * [ActiveMQ Camel Tomcat] example shows how to embed Apache ActiveMQ and Camel in a web application running on Apache Tomcat. h3. New [Tutorials] h2. API changes/breaking * [HL7] upgraded to now use Apache Mina 2.x. * Renamed {{org.apache.camel.component.hbase.HBaseContats}} to {{org.apache.camel.component.hbase.HBaseConstants}} * Added getter/setter methods for loadStatisticsEnabled on {{org.apache.camel.spi.ManagementStrategy}} * Added {{shutdownGraceful}}, and {{awaitTermination}} methods to {{ExecutorServiceManager}} to make it easier to shutdown a thread pool gracefully waiting for its tasks to complete. * Added method {{useRawUri()}} to {{org.apache.camel.Component}} to allow [Component]s to use raw uri when creating endpoints. (by default the uri has been encoded prior to creation). * Added method {{newThread}} to {{org.apache.camel.spi.ExecutorServiceManager}} to create a new thread without using a thread pool. h2. Internal/Non API refactorings that may affect users * The [Camel Test Kit|Testing] provides a default [Properties] component out of the box; which mean using {{addComponent("properties", ...)}} is no longer needed; instead get the component using {{getComponent("properties")}} and configure the component instead. 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 (e.g. running {{"mvn site"}}). There is no plan to fix this, as the project does not use maven site. * JBoss 7 may log a WARNing when running Camel as a WAR file. h2. Dependency Upgrades * Async Http Client 1.7.5 to 1.7.6 * Axiom 1.2.10 to 1.2.12 * AWS 1.3.10 to 1.3.14 * BeanIO 2.0.0 to 2.0.1 * Commons Exec 1.0.1 to 1.1 * ConcurrentLinkedHashMap 1.2 to 1.3.1 * Ehcache bundle 2.5.1 to 2.6.0 * Groovy 1.8.6 to 2.0.24 * GSon 2.1 to 2.2.2 * Hazelcast 2.0.2 to 2.3 * HTTP Client 4.1.3 to 4.2.1 * Icu4j 4.0.1 to 4.8.1.1 * Jackson 1.9.7 to 1.9.9 * Jaxen 1.1.3 to 1.1.4 * Jettison 1.3.1 to 1.3.2 * Jetty 7.5.4 to 7.6.7 * JRuby 1.6.7 to 1.6.7.2 * JT400 6.0 to 6.7 * Krati 0.4.5 to 0.4.6 * Lucene 3.6.0 to 3.6.1 * Mina 2.0.4 to 2.0.5 * Netty 3.5.1 to 3.5.7 * Ognl bundle 3.0.4_1 to 3.0.5_1 * Pax Logging 1.5.3 to 1.6.10 * QPid 0.16 to 0.18 * Quartz 1.8.5 to 1.8.6 * Restlet 2.0.14 to 2.0.15 * Scala 2.9.1 to 2.9.2 * Saxon 9.3.0.11 to 9.4.0.1 * Shiro 1.2.0 to 1.2.1 * Solr 3.6.0 to 3.6.1 * Spring Framework 3.1.1 to 3.1.2 * Spring Integration 2.1.2 to 2.1.3 * SSHD 0.6.0 to 0.7.0 * TestNG 6.0.1 to 6.7 * Woodstox 4.1.2 to 4.1.3 * XStream 1.4.2 to 1.4.3 h2. Important changes to consider when upgrading * {{camel-mina2}} now uses {{OrderedThreadPoolExecutor}} by default. There is a new option {{orderedThreadPoolExecutor}} you can configure it to {{false}} to revert back to unordered if needed. Mina that using SSL etc. requires ordered. * The default value of the {{delay}} option on [Timer] has been changed from {{0}} to {{1000}} * The default value of the {{convertLFtoCR}} option of the [HL7] MLLP codec has been changed from {{true}} to {{false}}. Likewise, the [HL7] DataFormat and TypeConverter do not perform this conversion anymore. * The [Simple] language has limited its support for the escape character to only new line, carriage return and tab characters. This makes it easier to use back-slash characters in the [Simple] language without double escaping etc. h2. Notice * Maven 3.0.2 or better is required to build the [Source] * If you want to deploy Apache Camel 2.11.0 into Apache Karaf, we highly recommend to use the 'jre.properties.cxf' configuration, which is part of Apache Karaf 2.2.5 onwards. For example {{camel-cxf}}, {{camel-mail}}, and {{camel-spring-ws}} requires this to be installable; as well other features may as well. h2. Getting the Distributions h3. Binary Distributions || Description || Download Link || PGP Signature file of download || | Windows Distribution | [apache-camel-2.11.0.zip|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.11.0/apache-camel-2.11.0.zip] | [apache-camel-2.11.0.zip.asc|http://www.apache.org/dist/camel/apache-camel/2.11.0/apache-camel-2.11.0.zip.asc] | | Unix/Linux/Cygwin Distribution | [apache-camel-2.11.0.tar.gz|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.11.0/apache-camel-2.11.0.tar.gz] | [apache-camel-2.11.0.tar.gz.asc|http://www.apache.org/dist/camel/apache-camel/2.11.0/apache-camel-2.11.0.tar.gz.asc] | {info} h3. Source Distributions || Description || Download Link || PGP Signature file of download || | Source Distribution | [apache-camel-2.11.0-src.zip|http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.11.0/apache-camel-2.11.0-src.zip] | [apache-camel-2.11.0-src.zip.asc|http://www.apache.org/dist/camel/apache-camel/2.11.0/apache-camel-2.11.0-src.zip.asc] | |