gpt4 book ai didi

java - 从管理 UI 启动和停止 Apache Camel 路由

转载 作者:行者123 更新时间:2023-12-02 05:34:37 26 4
gpt4 key购买 nike

我有一个 Apache Camel 上下文,它是大型 Spring 应用程序的一部分。该应用程序有一个基于 Web 的管理 UI。我希望能够从此用户界面中停止/启动/暂停/恢复 Camel 路线。我怎样才能实现这个目标?

目前,我的 Camel 上下文是在 Spring 上下文文件中定义的,并在部署 Spring 应用程序时自动启动。我的路由是在扩展 SpringRouteBuilder 的 Java 类中定义的。

我有:

camel-context.xml:

<beans>

<!--bootstrap camel context-->
<camelContext xmlns="http://camel.apache.org/schema/spring">
<package>com.package</package>
</camelContext>

</beans>

它是在主 Spring 上下文中导入的。然后我有在 com.package 中扩展 SpringRouteBuilder 的类

有没有更好的方法来做到这一点,以便我可以在 UI 中发生事件时以编程方式控制 Camel 上下文?

最佳答案

您还可以像我们在 hawtio ( http://hawt.io/ ) 中所做的那样,使用 REST 调用来远程管理 Camel 应用程序,这样我们就可以控制路由、查看统计数据、查看路由等等。通过使用一个名为 jolokia ( http://jolokia.org/ ) 的优秀库,这一切都变得更加容易,该库使 JMX 公开为 REST 服务。每个 JMX 操作/属性都可以作为 REST 上的 URI 模板轻松调用。并且数据是json格式。

您可以构建仅使用 REST 进行通信的 UI 控制台,而不依赖于 Java 或 JMX 世界等。

CamelContext 上的 Java API 还允许您控制路由。还有控制总线 EIP,其中包含更多详细信息: http://camel.apache.org/controlbus

关于java - 从管理 UI 启动和停止 Apache Camel 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25136142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com