第 28 章 将 Fuse 集成项目发布到服务器
您可以使用 Eclipse 发布机制将 Fuse 集成项目部署到服务器运行时。要做到这一点,您必须在 Fuse 集成 视角中定义服务器并将服务器添加到 Servers 视图中。有关逐步演示,请参阅。
概述
您可以设置支持的服务器来自动发布分配的 Fuse 项目,或者仅在手动调用 publish 命令时发布它们。
每个添加到 Servers 视图的服务器运行时都有自己的 Overview 页面,其中包含其配置、连接和发布详情:
您可能需要扩展 Publishing 来公开服务器运行时发布选项和默认设置:
永不会发布自动发布 criu-criuYou,您必须选择这个选项来手动发布项目。
重要您还必须禁用 If server started,在服务器的 Add 和 Remove 页面中立即发布更改 (详情请参阅 “手动发布 Fuse 项目”一节。
- 当资源更改 iwl-wagon[default] 启用此选项时 ,自动发布或重新发布 Fuse 项目(在保存对其所做的更改时)。发布项目的速度取决于 发布间隔 (默认为 15 秒)。
- 在构建事件 mvapich- iwlFor Fuse 项目后自动发布 ,与资源更改时自动 发布时的自动发布 相同。
在资源更改时自动发布 Fuse 项目
服务器运行时的默认发布选项是 自动发布资源何时更改。
- 如有必要,启动您要发布 Fuse 项目的服务器运行时。详情请查看 第 27.2 节 “启动服务器”。
- 在 Servers 视图中,双击服务器运行时以打开其 Overview 页面。
- 展开 Publishing,然后选择 Automatically publish when resources change。
- 要增加或减少发布周期之间的间隔,请单击根据情况 发布间隔(以秒为单位) 旁边的单选按钮。
在 Servers 视图中,右键单击服务器运行时以打开上下文菜单,然后选择 Add 和 Remove。
所有可用于发布的资源都会出现在 Available 列中。
要为服务器运行时分配资源(本例中为 CBRroute Fuse 项目):
- 双击它,或者
选择它,然后单击添加。
所选资源移至 Configured 列中:
在这个阶段,实际发布分配的资源的时间取决于服务器运行时是否正在运行以及 发布间隔 设置。但是,如果服务器停止了,则必须在启动服务器后手动发布项目(详情请参阅 “手动发布 Fuse 项目”一节)。
点击 If server started,立即发布更改 以启用它:
此选项可确保在单击 Finish 后,配置的项目会立即发布。在服务器运行时 Overview 页面上的 Automatically publish when resources change 选项可确保在保存对本地项目所做的更改时重新发布配置的项目。
点 Finish。
该项目会出现在服务器运行时节点的 Servers 视图中,服务器运行时状态报告 [Started,Publishing…]。
发布后,服务器运行时和项目报告的状态都是 [Started,Synchronized]:
注意对于服务器运行时,Synchronized 表示服务器上的所有发布资源都与其本地对应的资源相同。对于已发布的资源,Synchronized 表示它与其本地对应项相同。
手动发布 Fuse 项目
- 如有必要,启动您要发布 Fuse 项目的服务器运行时。详情请查看 第 27.2 节 “启动服务器”。
- 在 Servers 视图中,双击服务器运行时以打开其 Overview 页面。
- 展开 Publishing,然后选择 Never publish。
-
点 File
Save 保存发布选项更改。 如果 Fuse 项目已经分配给服务器运行时,请确保禁用此选项:如果服务器 启动,请立即发布更改 :
- 在 Servers 视图中,右键单击服务器运行时以打开上下文菜单。
- 点 Add and Remove… 打开服务器的 Add 和 Remove 页面。
- 如果启用了以下选项,请禁用它: 如果服务器启动,请立即发布更改。
- 跳至 [finish]。
如果 Fuse 项目尚未分配给服务器运行时,请立即分配它:
- 按照 [startAssignResource] 中的 [stopAssignResource] 遵循 “在资源更改时自动发布 Fuse 项目”一节。
- 不要启用 If server started,请立即发布更改。
单击 完成。
该项目会出现在服务器运行时节点的 Servers 视图中,服务器运行时状态报告 [Started]:
在 Servers 视图中,右键单击项目的节点。在本例中,选择 CBRroute Fuse 项目以打开上下文菜单:
选择 Full Publish。
在发布操作期间,服务器运行时和项目的状态都报告 [Started,Republish]。
发布后,服务器运行时的状态和项目报告 [Started,Synchronized]:
注意这些工具不支持 Incremental Publish 选项。单击 Incremental Publish 的结果会完全发布。
验证项目是否已发布到服务器
将 Fuse 项目发布到服务器运行时后,您可以连接到服务器并检查其上是否已安装了项目的捆绑包。
- 连接到服务器运行时。详情请查看 “在 Servers 视图中连接到正在运行的服务器”一节。
在 Servers 视图中,展开服务器运行时树,以公开 Bundles 节点并选择它。
这些工具使用服务器上安装的捆绑包列表填充 Properties 视图:
要查找项目的捆绑包,可向下滚动到列表的底部,或者在 Properties 视图的 Search 框中输入捆绑包的 Symbolic Name。捆绑包的 Symbolic Name 是您在创建时为您提供的名称。
注意或者,您可以在 Terminal 视图中发出
osgi:list
命令,以查看 Fuse 服务器运行时上安装的已生成捆绑包列表。该工具为osgi:list
命令显示的 OSGi 捆绑包使用不同的命名方案。在项目的
pom.xml
文件的 <build
> 部分中,您可以找到捆绑包的符号链接名称及其捆绑包
名称(OSGi),例如: