launch.xml

Cyber Launch 通过解析指定的launch.xml文件, 启动和管理各个应用进程. launch.xml 文件格式如下:

<?xml version="1.0" encoding="UTF-8"?>
<launch enable="true">
	<node dir-path="/home/appPath" enable="true" file="test" level="0" mode="sync" name="test" tag="">
		<envs enable="true">
			<env name="LD_LIBRARY_PATH" value="$LD_LIBRARY_PATH"/>
		</envs>
		<params enable="true">
			<param value="-help"/>
		</params>
		<restart enable="true">
			<on-exited delay-ms="1000" enable="true"/>
			<on-file-changed delay-ms="1000" enable="true">
				<file path="/home/appPath/test.properties"/>
			</on-file-changed>
		</restart>
	</node>
</launch>

其中节点定义如下:

launch节点

launch节点为launch.xml文件的根节点.

<?xml version="1.0" encoding="UTF-8"?>
<launch enable="true">
	   <!-- node -->
	   <!-- node -->
	   <!-- node -->
</launch>

可设置enable=”false”禁用所有该节点内的程序的启动.

node节点

launch节点下可包含多个node节点, 每个节点对应一个应用启动实例.

	<node dir-path="/home/appPath" enable="true" file="test" level="0" mode="sync" name="test" tag="">
		<envs enable="true">
			<env name="LD_LIBRARY_PATH" value="$LD_LIBRARY_PATH"/>
		</envs>
		<params enable="true">
			<param value="-help"/>
		</params>
		<restart enable="true">
			<on-exited delay-ms="1000" enable="true"/>
			<on-file-changed delay-ms="1000" enable="true">
				<file path="/home/appPath/test.properties"/>
			</on-file-changed>
		</restart>
	</node>

可设置enable=”false”禁用该节点对应的程序的启动.

节点属性

node节点包含多个属性, 每个属性对应的意义如下:

  • dir-path: 可执行程序文件所在路径;
  • file: 可执行程序文件名称;
  • name: 默认与file相同, 程序启动后, 该程序的名称;
  • enable: true/false, 是否启动该程序;
  • level: 整数, 默认值为0. 启动优先级, 值越小优先级越高. 优先级越高, 越先启动. 相同优先级情况下, 启动顺序由launch.xml文件中定义顺序决定;
  • mode: sync/async, 默认值为sync. 同步启动/异步启动;
    • sync 同步启动时, 在claunch程序退出时, 同时结束该节点程序;
    • async 异步启动时, 在claunch程序退出时, 不会结束该节点程序;
  • tag: 分组名称, 默认值为””, 用于claunch程序根据分组名称, 动态加载该节点程序(暂未实现);

子节点

node节点还可包含多个子节点, 每个子节点对应的意义如下:

  • envs: 用于该节点程序启动的环境变量设置;
  • params: 启动该节点程序的参数设置;
  • restart: 该节点程序的重启策略设置;

envs节点

node节点下可包含一个envs节点.

		<envs enable="true">
			<env name="LD_LIBRARY_PATH" value="$LD_LIBRARY_PATH"/>
		</envs>

可设置enable=”false”禁用该节点对应的设置. envs节点下可包含多个env节点, 每个env节点对应一个系统环境变量.

节点属性

env节点必须包含 name 和 value 节点, 对应的意义如下:

  • name: 系统环境变量名称;
  • value: 系统环境变量的值;

params节点

node节点下可包含一个params节点.

		<params enable="true">
			<param value="--a=1"/>
			<param value="-abc"/>
		</params>

可设置enable=”false”禁用该节点对应的设置. params节点下可包含多个param节点, 每个param节点对应一个启动参数.

节点属性

param节点必须包含 value 节点, 对应的意义如下:

  • value: 启动该节点时传递给该程序的参数值;

restart节点

node节点下可包含一个restart节点.

		<restart enable="true">
			<on-exited delay-ms="1000" enable="true"/>
			<on-file-changed delay-ms="1000" enable="true">
				<file path="/home/appPath/test.properties"/>
				<file path="/home/appPath/params.xml"/>
			</on-file-changed>
		</restart>

可设置enable=”false”禁用该节点对应的设置.

子节点

restart节点下可包含一个 on-exited 子节点和一个 on-file-changed 子节点. 每个子节点对应的意义如下:

  • on-exited: 当该节点程序发生退出时自动重启该节点程序;
  • on-file-changed: 当监控的文件发生变化时自动重启该节点程序;

on-exited 节点属性

			<on-exited delay-ms="1000" enable="true"/>

on-exited节点可包含的属性对应的意义如下:

  • delay-ms: 正整数, 延时重启的时间, 单位为毫秒;
  • enable: true/false, 是否启用该设置, 默认值为true;

on-file-changed 节点属性

			<on-file-changed delay-ms="1000" enable="true">
				<file path="/home/appPath/test.properties"/>
				<file path="/home/appPath/params.xml"/>
			</on-file-changed>

on-file-changed节点可包含的属性对应的意义如下:

  • delay-ms: 正整数, 延时重启的时间, 单位为毫秒;
  • enable: true/false, 是否启用该设置, 默认值为true;

on-file-changed 子节点

on-file-changed节点还可包含多个 file 子节点, 子节点对应的意义如下:

				<file path="/home/appPath/test.properties"/>
				<file path="/home/appPath/params.xml"/>
  • file: 需要监控的文件;
    • path: file 节点的 path 属性, 指定需要监控的文件路径;