第 28 章 将 Fuse 集成项目发布到服务器
您可以使用 Eclipse 发布机制将 Fuse 集成项目部署到服务器运行时。为此,您必须定义服务器,并将服务器添加到 Fuse 集成 视角中的 Servers 视图中。有关逐步演示,请参阅。
概述
您可以设置受支持的服务器来自动发布分配的 Fuse 项目,或者仅在手动调用 publish 命令时发布它们。
添加到 Servers 视图的每个服务器运行时都有自己的 Overview 页面,其中包含其配置、连接和发布详情:
您可能需要扩展 发布 以公开服务器运行时发布选项和默认设置:
永远不会自动发布 HEKETI- swigYou,才能选择此选项来手动发布项目。
重要您还必须禁用 如果服务器启动,在服务器的 Add 和 Remove 页面中立即发布更改 选项(详情请参阅 “手动发布 Fuse 项目”一节。
- 当资源更改 InventoryService-wagon[default] 时 ,自动发布此选项,以在保存对它所做的更改时自动发布或重新发布 Fuse 项目。发布项目的速度取决于 发布间隔 (默认为 15 秒)。
- 在构建事件 swig -wagonFor Fuse 项目后自动发布,在资源 更改时与 Automatically publish 相同。
资源更改时自动发布 Fuse 项目
在资源 更改时,服务器运行时的默认发布选项是自动发布。
- 如有必要,启动您要发布 Fuse 项目的服务器运行时。详情请查看 第 27.2 节 “启动服务器”。
- 在 Servers 视图中,双击服务器运行时以打开其 Overview 页面。
- 展开 发布,然后在 资源更改时选择 Automatically publish。
- 要在发布周期之间增加或减少间隔,请单击 发布间隔(以秒为单位) 上或缩减的单选按钮。
在 Servers 视图中,右键单击服务器运行时以打开上下文菜单,然后选择" 添加和删除 "。
所有可用于发布的资源都显示在 Available 列中。
为服务器运行时分配一个资源(本例中为 CBRroute Fuse 项目):
- 双击它,或者
选择它,然后单击 Add。
所选资源移到 Configured 列:
在这个阶段,实际发布资源的时间取决于服务器运行时是否在运行和发布 间隔 设置。但是,如果服务器停止,则必须在启动服务器后手动发布项目(详情请参阅 “手动发布 Fuse 项目”一节)。
点 If server started,发布立即更改 选项来启用它:
此选项可确保当您单击 Finish 后,配置的项目会立即发布。当服务器运行时 Overview 页面中的 资源更改选项自动 发布时,会在保存对本地项目更改时重新发布配置的项目。
点 Finish。
该项目会出现在服务器运行时节点的 Servers 视图中,服务器运行时状态报告 [Started,Publishing…].
发布完成后,服务器运行时和项目报告的状态为 [Started,Synchronized] :
注意对于服务器运行时,同步同步 意味着服务器上的所有发布的资源都与其本地对应的资源相同。对于公布的资源,同步 表示它与其本地对应的项相同。
手动发布 Fuse 项目
- 如有必要,启动您要发布 Fuse 项目的服务器运行时。详情请查看 第 27.2 节 “启动服务器”。
- 在 Servers 视图中,双击服务器运行时以打开其 Overview 页面。
- 展开 Publishing,然后选择 Never publish automatically。
-
点 File
Save 保存发布选项更改。 如果 Fuse 项目已分配给服务器运行时,请确保此选项被禁用:如果服务器 启动,请立即发布更改 :
- 在 Servers 视图中,右键单击服务器运行时以打开上下文菜单。
- 点 Add and Remove… 打开服务器的 Add 和 Remove 页面。
- 如果启用了以下选项,请禁用该选项: 如果服务器启动,请立即发布更改。
- 跳至 [finish]。
如果 Fuse 项目还没有分配给服务器运行时,请立即分配它:
- 在 [startAssignResource] 中遵循 [stopAssignResource] 到 “资源更改时自动发布 Fuse 项目”一节 的 “资源更改时自动发布 Fuse 项目”一节。
- 不要启用 服务器启动,请立即发布更改。
点 Finish。
该项目会出现在服务器运行时节点的 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 捆绑包使用不同的命名方案,由osgi:list
命令显示。在项目的
pom.xml
文件的 <build
> 部分中,您可以找到捆绑包的符号链接名称及其捆绑包名称(OSGi)在maven-bundle-plugin
条目中列出的,例如: