Mule ESB 启动脚本参数
Mule ESB Startup Script Parameters
Mule 是 运行 作为 Windows 服务,当服务器重新启动时,我们需要以非常特定的方式启动备份流。
我已经编辑了位于 $HOME\bin\mule.bat 的 bat 文件
使用这些参数:
./mule -app app1:app2:app3 start
然而,这似乎对启动没有影响。
你从哪里发现它甚至可以工作的?
看看这里关于 starting/stopping Mule 的文档。
https://docs.mulesoft.com/mule-user-guide/v/3.7/starting-and-stopping-mule-esb
据我所知这是不可能的。
您可以将 Anypoint Studio 中流的初始状态更改为已停止。
这将帮助您解决重启后不想启动的流程。
但是,您之后应该通过 MMC 或通过 API.
手动启动它们
这是骡子的回答。
在 Windows
运行 作为 Windows 服务:
按照后续步骤使用系统变量控制顺序。
- 停止 windows 服务。
- 创建一个包含所需顺序的系统变量MULE_STARTUP_ORDER(应用程序以“:”分隔)即:APP1:APP2:APP3
将下一行添加到 $MULE_HOME/conf/wrapper.conf 文件中:
wrapper.app.parameter.10=-应用
wrapper.app.parameter.11=%MULE_STARTUP_ORDER%
启动windows服务。
- 顺序应该符合预期。
注意:使用此方法,您需要手动 add/delete 应用程序到 MULE_STARTUP_ORDER 变量才能启动
它可能对其他人有帮助 运行 Mule 3.8 Standalone 作为 Window 服务,但这对我有用。
运行 从命令行
删除现有的 Mule 服务(如果存在)
${MULE_HOME}\bin>mule remove
其中${MULE_HOME}是Mule的安装目录
编辑以下文件
\Mule\bin\mule.bat
set MULE_OPTS=set.MULE_APP=%MULE_APP%
set.MULE_APP_LONG=%MULE_APP_LONG% set.MULE_HOME="%MULE_HOME%"
set.MULE_BASE="%MULE_BASE%" set.MULE_LIB=%MULE_LIB%
wrapper.working.dir=%_REALPATH% wrapper.app.parameter.1=-app
wrapper.app.parameter.2="appName1:appName2" wrapper.app.parameter.3=%3
wrapper.app.parameter.4=%4 wrapper.app.parameter.5=%5
wrapper.app.parameter.6=%6 wrapper.app.parameter.7=%7
wrapper.app.parameter.8=%8 wrapper.app.parameter.9=%9
其中 appName1 和 appName2 是我在 \Mule\apps
中的 Mule 应用程序的名称
再次安装 Mule 作为服务
${MULE_HOME}\bin>mule install
启动您的 Mule 服务并检查日志以确认 Mule 应用程序正在按预期顺序启动。
最后,如果您希望从命令行执行相同的操作,请尝试
${MULE_HOME}\bin>mule -app=appName1:appName2
希望对您有所帮助!
Mule 是 运行 作为 Windows 服务,当服务器重新启动时,我们需要以非常特定的方式启动备份流。 我已经编辑了位于 $HOME\bin\mule.bat 的 bat 文件 使用这些参数:
./mule -app app1:app2:app3 start
然而,这似乎对启动没有影响。
你从哪里发现它甚至可以工作的? 看看这里关于 starting/stopping Mule 的文档。 https://docs.mulesoft.com/mule-user-guide/v/3.7/starting-and-stopping-mule-esb
据我所知这是不可能的。 您可以将 Anypoint Studio 中流的初始状态更改为已停止。 这将帮助您解决重启后不想启动的流程。 但是,您之后应该通过 MMC 或通过 API.
手动启动它们这是骡子的回答。 在 Windows
运行 作为 Windows 服务:
按照后续步骤使用系统变量控制顺序。
- 停止 windows 服务。
- 创建一个包含所需顺序的系统变量MULE_STARTUP_ORDER(应用程序以“:”分隔)即:APP1:APP2:APP3
将下一行添加到 $MULE_HOME/conf/wrapper.conf 文件中:
wrapper.app.parameter.10=-应用 wrapper.app.parameter.11=%MULE_STARTUP_ORDER%
启动windows服务。
- 顺序应该符合预期。
注意:使用此方法,您需要手动 add/delete 应用程序到 MULE_STARTUP_ORDER 变量才能启动
它可能对其他人有帮助 运行 Mule 3.8 Standalone 作为 Window 服务,但这对我有用。 运行 从命令行
删除现有的 Mule 服务(如果存在)${MULE_HOME}\bin>mule remove
其中${MULE_HOME}是Mule的安装目录
编辑以下文件 \Mule\bin\mule.bat
set MULE_OPTS=set.MULE_APP=%MULE_APP% set.MULE_APP_LONG=%MULE_APP_LONG% set.MULE_HOME="%MULE_HOME%" set.MULE_BASE="%MULE_BASE%" set.MULE_LIB=%MULE_LIB% wrapper.working.dir=%_REALPATH% wrapper.app.parameter.1=-app wrapper.app.parameter.2="appName1:appName2" wrapper.app.parameter.3=%3 wrapper.app.parameter.4=%4 wrapper.app.parameter.5=%5 wrapper.app.parameter.6=%6 wrapper.app.parameter.7=%7 wrapper.app.parameter.8=%8 wrapper.app.parameter.9=%9
其中 appName1 和 appName2 是我在 \Mule\apps
中的 Mule 应用程序的名称再次安装 Mule 作为服务
${MULE_HOME}\bin>mule install
启动您的 Mule 服务并检查日志以确认 Mule 应用程序正在按预期顺序启动。
最后,如果您希望从命令行执行相同的操作,请尝试
${MULE_HOME}\bin>mule -app=appName1:appName2
希望对您有所帮助!