163.6. 使用基于 Infinispan 的幂等存储库
在本节中,我们将使用基于 Infinispan 的幂等存储库。
首先,我们需要创建一个 cacheManager,然后配置我们的
org.apache.camel.component.infinispan.processor.idempotent.InfinispanIdempotentRepository:
<!-- set up the cache manager --> <bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop"/> <!-- set up the repository --> <bean id="infinispanRepo" class="org.apache.camel.component.infinispan.processor.idempotent.InfinispanIdempotentRepository" factory-method="infinispanIdempotentRepository"> <argument ref="cacheManager"/> <argument value="idempotent"/> </bean>
然后,我们可以在 spring XML 文件中创建 Infinispan idempotent 存储库:
<camelContext xmlns="http://camel.apache.org/schema/spring"> <route id="JpaMessageIdRepositoryTest"> <from uri="direct:start" /> <idempotentConsumer messageIdRepositoryRef="infinispanStore"> <header>messageId</header> <to uri="mock:result" /> </idempotentConsumer> </route> </camelContext>