【问题标题】:How to reload camel context automatically in openshift 3.x using fis-java如何使用 fis-java 在 openshift 3.x 中自动重新加载骆驼上下文
【发布时间】:2016-06-10 09:05:56
【问题描述】:

我以前在 Apache Camel 和 JBoss Fuse 方面有过经验,而且我是 Openshift 版本 3.x 的新手,我正在尝试部署一个使用 java dsl 和 spring DI 开发的骆驼应用程序。

我正在使用外部属性文件在骆驼中加载消费者和生产者端点。在 JBoss Fuse 中,我使用了带有 update-stratergy=reload 的 configAdmin 服务,如下所示,在我的 blueprint.xml 中

<!-- OSGI blueprint property placeholder -->
<cm:property-placeholder id="routesConfig" persistent-id="org.sample.camel.routes.config" update-strategy="reload"/>

上述配置会在属性文件发生变化时自动重新加载camelContext

如何在 openshift 3.x 中使用 fis-java-openshift:1.0 模板图像实现相同的功能

【问题讨论】:

  • 我自己没有尝试过,但您可能需要将 docker 容器连接到现有磁盘上,该磁盘上有您的属性文件。 (因此磁盘空间始终存在)然后,当您在那里更新属性文件时,我希望看到所需的结果。

标签: apache-camel openshift-origin fabric8 openshift-enterprise


【解决方案1】:

我们写了一些关于如何work with configuration 的文档。

一般来说,在 kubernetes 上使用 service discovery 和 kubernetes secrets 避免了大多数环境特定配置的用例。

理想情况下,我们会使用相同的 Continuous Delivery pipelines 来更改代码或配置,以确保在投入生产之前对其进行正确测试。

但是,如果您真的想在 Java 容器中即时重新加载配置,您可以将配置存储在 ConfigMap 中,并将其作为文件挂载到 pod 中;然后让 Java 代码监视文件(例如使用 spring boot 或 ConfigAdmin)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多