在apache camel context

时间:2016-02-11 11:38:30

标签: java spring apache-camel

我需要持久保存一个字符串值,该值每小时更改一次,并由路由获取以供其他路由使用。我正在使用Spring XML DSL。

我的工作正常,但看起来很笨拙。我有一个带有setter和getter的java类来包装字符串,我用它来设置:

<to uri="bean:store?method=setValue"/>

然后通过以下方式将其带回身体:

<to uri="bean:store?method=getValue"/>

是否有一种纯粹的Spring方式在xml中执行此操作而不需要定制的java类?

1 个答案:

答案 0 :(得分:4)

您有几种选择:

  1. 使用Apache Ignite,EhCache等缓存组件。虽然这对于您这样的简单场景来说矫枉过正。我不推荐它。
  2. 使用JDK AtomicReference作为您的bean,而不是仅为存储创建专用类。
    • 调用set方法存储值。
    • 调用get以恢复该值。
  3. 显然,您不会删除存储/获取值的路径中的步骤,但您可以废弃自定义类。