我有一个运行 Spring Boot Camel 的应用程序,该应用程序使用ActiveMQ中的消息并写入文件:
@Override
public void configure() throws Exception {
from("activemq:queue:MyQueue").to("file:/tmp/somemessages/");
}
非常简单,如果运行mvn spring-boot:run
,效果很好。
但是现在我需要生成一个捆绑罐,以安装在RedHat Fuse OSGi容器中。一切均已安装并启动,没有错误,请参见:
因此,我的 camel-app 是活动,但是在我的 ActiveMQ队列中产生了一些消息后,却没有按我的预期工作,因此未生成文件。
我如何查看是否有问题?应用程序控制台日志还是类似的东西?
答案 0 :(得分:2)
这不是一个好习惯。 Spring Boot是用于独立运行的。在基于OSGi的运行时(例如Red Hat Fuse或Apache Karaf / ServiceMix)中,您应该部署OSGi应用程序,与Camel一起使用的是骆驼蓝图(您也可以将Java路由与蓝图一起使用)。因此,请看一下如何做到这一点的示例,并且应该可以看到Red Hat Fuse附带的示例。
答案 1 :(得分:1)
我如何查看是否有问题?应用程序控制台日志还是类似的东西?
简单的答案是,您可以通过在Shell控制台中运行以下命令来对捆绑软件运行诊断命令:
bundle:diag {your-bundle-id}
您可以将{your-bundle-id}
替换为图片中的首选包ID,即231。还有a complete list of Apache Karaf commands可能对进一步的需求有用。