Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从外部更新camel属性?_Java_Spring_Apache Camel_Jbossfuse_Hawtio - Fatal编程技术网

Java 如何从外部更新camel属性?

Java 如何从外部更新camel属性?,java,spring,apache-camel,jbossfuse,hawtio,Java,Spring,Apache Camel,Jbossfuse,Hawtio,我正在开发非OSGI应用程序,我需要更新这些值​​驼峰路线中使用的某些属性(加载的BridgePropertyPlaceHolder)。 所以我想: 要使用酷管理控制台Hawtio,使用JMX更新camel 创建将更新属性的JMX MBean 我成功地创建了MBean操作并使用JMX调用它们,但我不知道如何更新依赖于这些属性的camel路由 有没有办法从外部更新camel上下文 更新: 用例示例:当远程服务器不返回响应时,我们会一直发送消息,直到达到最大不成功尝试次数(没有ack的消息)。

我正在开发非OSGI应用程序,我需要更新这些值​​驼峰路线中使用的某些属性(加载的BridgePropertyPlaceHolder)。 所以我想:

  • 要使用酷管理控制台Hawtio,使用JMX更新camel

  • 创建将更新属性的JMX MBean

我成功地创建了MBean操作并使用JMX调用它们,但我不知道如何更新依赖于这些属性的camel路由

有没有办法从外部更新camel上下文

更新: 用例示例:当远程服务器不返回响应时,我们会一直发送消息,直到达到最大不成功尝试次数(没有ack的消息)。 在camel中,我们根据从文件系统加载的属性创建路由器模式。 这个属性可能会偶尔更改,我们希望在不重新启动服务器的情况下执行此操作,但问题是在启动上下文时骆驼解析路由,我找不到相应地更新路由的方法



我非常感谢任何能够提供帮助的建议:)

您希望哪些属性是动态的。您可以将这些道具移动到某个数据库,并在阅读时获取它们。我认为您的骆驼路线需要重新设计。

更改
的端点参数,如URL等。,必须根据以下要求使用以下程序:

  • 停下来
  • 移除路线
  • 更改端点
  • 添加路线
  • 开始路线

  • 如果必须配置
    端点,则可以使用该组件。在这里,您可以使用适当的Camel组件从数据库和/或文件系统读取属性。

    如果使用Camel错误处理重试(重新传递),则可以使用
    retryWhile
    继续重试,直到返回
    false
    。这允许您使用java代码等,并允许您读取更新的配置选项

    有关更多详细信息,请参阅

    如果你有一本《骆驼行动手册》,请参阅第152页