java - 如何将 JRebel 与 Mule ESB 集成?

标签 java mule esb jrebel

有没有人曾尝试将 JRebel 与 Mule 一起使用而不是典型的应用程序服务器?如果是,您能描述一下您的经历吗?

据我所知,目前,Mule 还没有得到 JRebel 团队的官方支持。但是,我想知道是否有一些解决此限制的方法。

最佳答案

虽然 Mule ESB 没有被 JRebel 正式支持,但我们找到了一个解决方法。首先,让我先声明:

  • 截至目前,无法使用 JRebel 热部署 Mule XML 流是不可能的。然而,Mule 提供了自己的机制来实现同样的目标。因此,缺少 JRebel 对此的支持不会破坏交易。

所以,我们唯一可以热部署的就是Java类,这还是很受欢迎的。我们如何做到这一点?

  • 首先在 $MULE_HOME/conf/wrapper.conf 中配置 JRebel 代理。在我们的例子中,所需的行是:

    wrapper.java.additional.13=-javaagent:{path to jrebel.jar}
    wrapper.java.additional.14=-Xbootclasspath:{path to rebelboot.jar}
    wrapper.java.additional.16=-Drebel.remoting_plugin=true
    wrapper.java.additional.19=-Drebel.remoting_port={whatever}
    

这些是启动 JRebel 和 Mule 所需的 JVM 参数。参数的编号是任意的。

我们想在远程模式下使用 JRebel。您可以在 docs 中阅读有关此模式的信息.这就是 wrapper.java.additional.16=-Drebel.remoting_plugin=truewrapper.java.additional.19=-Drebel.remoting_port={whatever} 的原因参数。

  • 现在继续并通过执行 mule.bat 或 mule.sh 来启动 Mule,具体取决于您的环境(Windows 或 *nix)。 JRebel 应该从它开始。
  • 将您的 Mule 应用程序放在 $MULE_HOME/apps 中。它们将被自动部署,从现在开始,它们的 .class 文件将由 JRebel 监控。
  • 在您的 IDE 中,安装 JRebel 插件 并应用您的许可证。之后,将 JRebel 特性添加到您的项目中,并使用我们之前在 wrapper.conf 中定义的端口配置其远程服务器 URL。
  • 对代码进行任何需要的更改并同步。它们应该成功地热部署到正在运行的 Mule 实例中。

关于java - 如何将 JRebel 与 Mule ESB 集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131701/

相关文章:

java - ActionBarSherlock 不再编译

Javafx:在移动过程中将人物限制在场景中

java - 如何检查端点是否用于 munit 测试

mule - MULE Studio 和 MULE ESB 有什么区别?

.net - IBM 铸铁和 ESB

java - 测试服务的启动和运行并在关闭时报告

java - IntelliJ IDEA 中的 "Refactor"上下文菜单中是否有一个选项可以用接口(interface)替换当前的空父类(super class)?

java - 解析.com : Does PinInBackground() to Local DB save to the Cloud eventually?

tomcat - 带有 Active-MQ 的 Mule 发布/订阅模型。如何在 Active-MQ JMS 中的消息到达时以异步方式调用 tomcat 消费者

messaging - 消息代理和 ESB 之间的区别