在Jboss Fuse内运行Spring Boot Camel

时间:2019-05-14 01:32:41

标签: apache-camel jbossfuse

我有一个运行 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容器中。一切均已安装并启动,没有错误,请参见:

enter image description here 因此,我的 camel-app 活动,但是在我的 ActiveMQ队列中产生了一些消息后,却没有按我的预期工作,因此未生成文件。

我如何查看是否有问题?应用程序控制台日志还是类似的东西?

2 个答案:

答案 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可能对进一步的需求有用。