This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 811c720ce80f899de4a0226894e85afef9df28b8 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Jan 16 14:36:13 2020 +0100 CAMEL-14409: camel-core - ExtendedExchange for advanced API --- .../src/main/java/org/apache/camel/Exchange.java | 7 +++++++ .../modules/ROOT/pages/camel-3x-upgrade-guide.adoc | 19 +++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/core/camel-api/src/main/java/org/apache/camel/Exchange.java b/core/camel-api/src/main/java/org/apache/camel/Exchange.java index 9b513d7..6a8fa26 100644 --- a/core/camel-api/src/main/java/org/apache/camel/Exchange.java +++ b/core/camel-api/src/main/java/org/apache/camel/Exchange.java @@ -559,6 +559,7 @@ public interface Exchange { * * @param fromEndpoint the endpoint which is originating this message exchange */ + // TODO: Move to ExtendedExchange void setFromEndpoint(Endpoint fromEndpoint); /** @@ -573,6 +574,7 @@ public interface Exchange { * * @param fromRouteId the from route id */ + // TODO: Move to ExtendedExchange void setFromRouteId(String fromRouteId); /** @@ -585,6 +587,7 @@ public interface Exchange { * Sets the unit of work that this exchange belongs to; which may map to * zero, one or more physical transactions */ + // TODO: Move to ExtendedExchange void setUnitOfWork(UnitOfWork unitOfWork); /** @@ -603,6 +606,7 @@ public interface Exchange { * * @param onCompletion the callback to invoke on completion of this exchange */ + // TODO: Move to ExtendedExchange void addOnCompletion(Synchronization onCompletion); /** @@ -612,6 +616,7 @@ public interface Exchange { * @param onCompletion the callback instance that is being checked for * @return <tt>true</tt>, if callback instance is already contained on this exchange, else <tt>false</tt> */ + // TODO: Move to ExtendedExchange boolean containsOnCompletion(Synchronization onCompletion); /** @@ -619,6 +624,7 @@ public interface Exchange { * * @param target the target exchange */ + // TODO: Move to ExtendedExchange void handoverCompletions(Exchange target); /** @@ -626,6 +632,7 @@ public interface Exchange { * * @return the on completions */ + // TODO: Move to ExtendedExchange List<Synchronization> handoverCompletions(); /** diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide.adoc index 8384c4f..4ebef1c 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide.adoc @@ -108,11 +108,26 @@ See the xref:message-history.adoc[Message History] documentation for how to enab The `Exchange` API has been modified slightly as part of an optimization effort. The returned value of `getCreated` is changed from `java.util.Date` to `long` which is the time millis. - The `Exchange.CREATED_TIMESTAMP` is no longer stored as exchange property, but you should use the `getCreated` method on `Exchange`. - The returned value of `isExternalRedelivered` is changed from `Boolean` to `boolean`. +Some of the advanced and API for component developers on `Exchange` has been moved to an extended interface `ExtendedExchange`. +The following methods has been moved: + +- setFromEndpoint +- setFromRouteId +- setUnitOfWork +- addOnCompletion +- containsOnCompletion +- handoverCompletions + +You can use these methods by adapting to the extended exchange as shown below: + +[source,java] +---- +exchange.adapt(ExtendedExchange.class).addOnCompletion(...); +---- + ==== Cookies Cookies from `camel-http-common` has been moved into a new `camel-http-base` JAR.