如何从java dsl访问Default Idempotent Repository映射?

时间:2015-06-10 14:14:01

标签: apache-camel

我是Apache Camel的新手。如何在Java DSL中访问Camel Default Idempotent Repository映射。

路线:

from("file://C:/folderA?noop=true")
.to("file://C:/folderB")
.end();

当我在路线中说noop = true时,幂等将是真的。现在我需要在java dsl中获取Idempotent映射。请告诉我如何访问它?

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果要访问基础地图,则应指定自己的idempotentRepository bean。使用现有的MemoryIdempotentRepository应该非常简单。

//Instantiate repository and get map
IdempotentRepository<String> repo = MemoryIdempotentRepository.memoryIdempotentRepository()
Map<String, Object> map = repo.getCache();

//Bind the repo to the Camel Context Registry using the id "repo"
//This changes depending upon how you are running Camel

//In your RouteBuilder...
from("file://C:/folderA?noop=true&idempotentRepository=#repo")
  .to("file://C:/folderB")
  .end();