INT-2426: Add Idempotent Receiver EIP
JIRA: https://jira.spring.io/browse/INT-2426 INT-2426: pushed `final` modifier fix for Java 6 compatibility INT-2426: Rework logic to the `MetadataStore` INT-2426: `IdempotentReceiver` -> `IdempotentReceiverInterceptor` * Move `Idempotent Filtering` logic to the `IdempotentReceiverInterceptor`, which should be applied as a regular AOP `Advice` to the `MessageHandler#handleMessage` * Provide an xml component `<idempotent-receiver>` * Introduce `IdempotentReceiverAutoProxyCreator` to get deal with `IdempotentReceiverInterceptor` and `MessageHandler`s. The `Proxying` logic is based on the mapping between interceptor and `consumer endpoint` `ids` * Introduce `MetadataStoreSelector` along side with `MetadataKeyStrategy` and `ExpressionMetadataKeyStrategy` implementation INT-2426: Introduce `IdempotentReceiver` annotation Add `IdempotentReceiverIntegrationTests` in the JMX module to be sure that all proxying works well. INT-2426: Polishing according PR comments * Rename `IdempotentReceiverAutoProxyCreatorInitializer` * Add support for several `IRI` for the one `MH` * Polishing JavaDocs INT-2426: Add `What's New` note Doc Polishing. More Doc Polishing Use Timestamp (hex) instead of Id for Value Facilitate cleanup.
This commit is contained in:
committed by
Gary Russell
parent
6e81950236
commit
ff2b15ea9e
@@ -582,4 +582,10 @@ public class MyAdvisedFilter {
|
||||
the transaction, you would put the transaction advice first.
|
||||
</para>
|
||||
</section>
|
||||
<section id="idempotent-receiver">
|
||||
<title>Idempotent Receiver EIP Pattern</title>
|
||||
<para>
|
||||
TBD
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
@@ -47,8 +47,8 @@
|
||||
<classname>RedisMetadataStore</classname> implement <interfacename>ConcurrentMetadataStore</interfacename>.
|
||||
These provide for atomic updates and can be used across multiple component or application instances.
|
||||
</para>
|
||||
<section id="idempotent-receiver">
|
||||
<title>Idempotent Receiver</title>
|
||||
<section id="idempotent-receiver-pattern">
|
||||
<title>Idempotent Receiver and Metadata Store</title>
|
||||
<para>
|
||||
The <emphasis>Metadata Store</emphasis> is useful for implementing the
|
||||
EIP <ulink url="http://eaipatterns.com/IdempotentReceiver.html">Idempotent Receiver</ulink> pattern, when
|
||||
@@ -70,6 +70,9 @@
|
||||
The <code>value</code> of the idempotent entry may be some expiration date, after which that entry should
|
||||
be removed from <emphasis>Metadata Store</emphasis> by some scheduled reaper.
|
||||
</para>
|
||||
<para>
|
||||
Also see <xref linkend="idempotent-receiver"/>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
</section>
|
||||
|
||||
@@ -41,6 +41,17 @@
|
||||
See <xref linkend="routing-slip"/> for more information.
|
||||
</para>
|
||||
</section>
|
||||
<section id="4.1-idempotent-receiver">
|
||||
<title>Idempotent Receiver Pattern</title>
|
||||
<para>
|
||||
The <emphasis>Idempotent Receiver</emphasis> EIP implementation is now provided
|
||||
via the <code><idempotent-receiver></code> component in XML, or the
|
||||
<classname>IdempotentReceiverInterceptor</classname> and
|
||||
<interfacename>IdempotentReceiver</interfacename> annotation when using Java
|
||||
Configuration.
|
||||
See <xref linkend="idempotent-receiver"/> and their JavaDocs for more information.
|
||||
</para>
|
||||
</section>
|
||||
<section id="4.1-BoonJsonObjectMapper">
|
||||
<title>BoonJsonObjectMapper</title>
|
||||
<para>
|
||||
|
||||
Reference in New Issue
Block a user