我需要保留一个字符串值,该值每小时更改一次,并由路由获取以供其他路由使用。我正在使用 Spring XML DSL。
我已经让它工作得很好,但它看起来很笨拙。我有一个带有 setter 和 getter 的 java 类来包装字符串,我将其设置为:
<to uri="bean:store?method=setValue"/>
然后通过另一条路线将其送回体内:
<to uri="bean:store?method=getValue"/>
是否有一种纯 Spring 方法可以在 xml 中执行此操作而不需要定制的 java 类?
最佳答案
您有多种选择:
- 使用缓存组件,如 Apache Ignite、EhCache 等。尽管对于像您这样的简单场景,这矫枉过正。我不推荐它。
- 使用 JDK
AtomicReference
作为你的 bean,而不是创建一个专门用于存储的类。
显然,您不会删除存储/获取值的路径中的步骤,但您可以取消自定义类。
关于java - 在 apache camel 上下文中存储状态的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35338330/