我正在使用Ehcache和Apache骆驼。我正在暴露一个休息端点,它应该删除Ehcache中的所有密钥。出于某种原因,它在调用其余端点后没有删除密钥。
以下代码用于实现相同的目标:
<restConfiguration component="servlet"
bindingMode="json" />
<rest path="/clear">
<get uri="/ehcache">
<to uri="direct:clear_ehcache" />
</get>
</rest>
<route id="clear_ehcache_001">
<from uri="direct:clear_ehcache" />
<setHeader headerName="CamelCacheOperation">
<constant>CamelCacheDeleteAll</constant>
</setHeader>
<setHeader headerName="CamelEhcacheAction">
<constant>REMOVE_ALL</constant>
</setHeader>
<to uri="ehcache://mycache" />
</route>
我已经坚持了一段时间,因为没有产生错误。
所以它适用于以下代码:
<!-- Rest endpoint for clearing ehcache : Start -->
<restConfiguration component="servlet"
bindingMode="json" />
<rest path="/clear">
<get uri="/ehcache">
<to uri="direct:clear_ehcache" />
</get>
</rest>
<!-- Rest endpoint for clearing ehcache : End -->
<!-- Route for clearing ehcache : Start -->
<route id="clear_ehcache_001">
<from uri="direct:clear_ehcache" />
<log id="_logging_clear_ehcache"
message="Clearing Ehcache records.." />
<setHeader headerName="CamelEhcacheAction"
id="getCamelEhCacheAction003">
<constant>CLEAR</constant>
</setHeader>
<to id="_to4"
uri="ehcache://mycache?keyType=java.lang.String&valueType=java.lang.String" />
</route>
<!-- Route for clearing ehcache : End -->