是否可以在没有任何容器的情况下在内存中运行Mule流?

时间:2016-04-08 01:27:00

标签: mule

最近了解了一篇关于将Mule流部署到JBoss容器的文章 - https://docs.mulesoft.com/mule-user-guide/v/3.6/deploying-mule-to-jboss。哪个好,但有没有办法让我可以在java上运行Mule?

Apache Camel有一个maven插件允许这样做,例如我可以创建一个Camel项目并执行'mvn camel run',它将自己调出一个camel实例。

我能够看到一些关于'maven'izing Mule项目的文章,当然还有一个Mule maven插件(https://github.com/mulesoft/maven-mule-plugin)。但不确定是否有一个用于独立运行Mule流的插件。

它不需要像这样的maven插件,如果有技术可能将mule flow +所需的mule库打包在jar中并执行jar来自行运行?想法?

1 个答案:

答案 0 :(得分:1)

是的,您可以通过构建MuleContext并加载Spring XML配置文件,从简单的Java代码中引导Mule。简单的例子:

DefaultMuleContextFactory muleContextFactory =
new DefaultMuleContextFactory();
SpringXmlConfigurationBuilder configBuilder = new SpringXmlConfigurationBuilder("mule-config.xml");
MuleContext muleContext = muleContextFactory.createMuleContext(configBuilder);
muleContext.start();

这将加载Mule配置文件并启动MuleContext。然后,您可以进一步使用Mule API获取Flow构造并停止,开始调用它们等。

您可以在没有容器的Java应用程序中使用它,或者进一步使用Spring Boot之类的东西。下面是一个使用Spring Boot I的示例,我之前将它放在一起:https://github.com/ryandcarter/mule-spring-boot-docker