第 1 章 创建新的 Fuse 集成项目
概述 复制链接链接已复制到粘贴板!
创建新的 Fuse 集成项目涉及以下主要步骤:
配置完项目后,工具会下载所有必要的 Maven 依赖项,并创建运行和发布项目所需的 POM 文件。
开始前 复制链接链接已复制到粘贴板!
在创建新的 Fuse 集成项目前,您应该有以下信息:
- 您的目标运行时环境:OpenShift 或 Fuse 独立 Fuse (在 Karaf 上 Spring Boot、Fuse 或 EAP 上的 Fuse)
- Camel 版本(与工具默认使用的其它版本)
指定项目名称和工作区 复制链接链接已复制到粘贴板!
要创建新的 Fuse 集成项目,请按照以下步骤执行:
选择 New
Project Red Hat Fuse Fuse Integration Project 以打开 New Fuse Integration Project 向导。 向导会打开,并在 Location 窗格中选择 Use default workspace location 选项。
-
在 Project Name 中,为新项目输入一个名称,如
MySampleProject
。 指定要在其中存储项目的数据的工作区位置。
- 要使用默认的工作区,请保持 Use default workspace location 选项启用。
要使用备选位置,可清除 Use default workspace location 选项,并在 Path 字段中指定位置。
点
快速找到并选择一个备用工作区。
- 点 Next 打开 Select a Target Environment 页面。
配置项目部署环境 复制链接链接已复制到粘贴板!
当您创建新项目时,您可以指定项目的目标部署环境,以便项目在运行时具有需要的资源。您必须选择一个部署平台和 Camel 版本。另外,您可以指定运行时配置。
在 Select a Target Environment 页面打开:
选择是否要在 Kubernetes/OpenShift 上部署项目还是在 单机 平台上部署。
如果您在部署平台选择 Kubernetes/OpenShift,则会自动选择 Sprint 引导 运行时,您可以跳至第 3 步。
如果您为部署平台选择 Standalone :
选择目标运行时环境:
- Spring Boot
- Karaf/Fuse on Karaf
- EAP 上的 WildFly/Fuse
对于 Karaf 和 EAP 独立运行时环境,请为运行时配置选择以下选项之一:
- 接受 None selected 选项(您可以在稍后定义运行时配置)。
- 从下拉菜单中选择一个现有的运行时配置。
- 按照 “创建新目标运行时(可选)”一节 所述创建新运行时配置。
在 新项目窗格的 Select the Camel 版本中,接受与运行时关联的默认 Camel 版本,或更改默认设置:
- 从下拉列表中选择 Camel 版本。Fuse 工具支持列出的产品版本。
如果要尝试使用非产品化版本(不支持),输入不同的 Camel 版本。
您可以点击 Verify 按钮来检查工具是否可以访问指定的版本。如果没有,在 Select a Target Runtime 页面标头中会显示类似以下示例的通知:
注意创建、配置和保存项目后,您可以更改 Camel 版本。请参阅 第 11 章 更改 Camel 版本。
- 选择运行时环境和作为新 Fuse Integration 项目的 Camel 版本后,点 Next 打开向导的 Advanced Project Setup 页面,然后按照 “选择项目模板”一节 中的步骤操作。
创建新目标运行时(可选) 复制链接链接已复制到粘贴板!
对于 Karaf 和 EAP 独立运行时环境,您可选择性地从 New Fuse Integration Project 向导创建新的运行时配置。
在向导的 Select a Target Runtime 页面中,点 New 打开 New server runtime 环境 页面:
展开
红帽 JBoss 中间件
文件夹,然后选择红帽 Fuse 运行时环境。取消选中 Create a new local server 选项。当您准备好发布项目时,您可以稍后创建本地服务器(请参阅 第 27.1 节 “添加服务器”)。
注意如果您检查 Create a new local server 选项,则 New Fuse Integration Project 向导会指导您执行额外的步骤来定义和配置 Fuse 服务器运行时(如 第 27.1 节 “添加服务器”所述)。然后,在项目构建时,它还会将服务器运行时添加到 Fuse Integration 视角中的 Servers 视图。
点 Next 打开服务器的 New Server Runtime Environment 页面:
指定服务器运行时的名称、Home Directory、执行环境 :
- 名称 TOKEN-youAccept the default 或输入运行时环境的新名称。
Home Directory ALLOW-关闭Click Browse 按钮来查找并选择服务器运行时的安装目录。
注意如果计算机上尚未安装该服务器,您可以点击 Download and install runtime 链接安装该服务器,然后按照站点的下载说明进行安装。根据网站,您可能需要提供有效的凭证,然后才能继续下载过程。
Runtime JRE:执行 Environment BUFFER-logforwardingAccept the default,或从下拉列表中选择另一个 JavaSE 版本。
如果列表中没有显示您想要的版本,点 Environments 按钮并从该列表中选择版本。您选择的 JRE 版本必须安装在您的机器上。
注意Fuse 7.x 需要 JRE 版本 1.8。
- Runtime JRE:Alternate JRE - 如果您的项目需要不同的 Java 版本,您可以使用这个选项。
点 Finish 返回 New Fuse Integration Project 向导的 Select a Target Runtme 页面:
新配置的目标运行时会出现在 Target Runtime 窗格的下拉菜单中,运行时支持的 Camel 版本会出现在 Camel Version 窗格中,灰显。
创建 Fuse 集成项目后,可以更改 Camel 版本。请参阅 第 11 章 更改 Camel 版本。
- 点 Next 为项目指定一个模板,如 “选择项目模板”一节 所述。
选择项目模板 复制链接链接已复制到粘贴板!
Advanced Project Setup 页面提供了一个模板列表,您可以使用这些模板作为新项目的起点。模板基于常见用例,提供示例代码和数据,从而快速启动。可用模板列表取决于您在上一页中选择的运行时环境。选择模板以在右侧窗格中查看其描述。
对于 OpenShift 上的 Fuse,有一个模板来演示如何使用 Spring XML 配置文件在 Spring Boot 中配置 Camel 路由。此模板会创建一个 Fuse 集成项目,并且需要比 2.18.1.redhat-000012 的 Camel 版本。
此模板会创建一个在 OpenShift 服务器上运行的项目,它仅支持 Spring DSL。有关使用此模板的详情,请参考 第 6 章 OpenShift 中的 Fuse 入门。
对于 Wildfly 或 Fuse,EAP 上提供了 一个单一模板,提供调用 bean 服务的示例 Camel 路由,以表示"Hello"。此模板会创建一个在红帽 EAP 服务器上运行的项目,它仅支持 Spring DSL。
对于 Karaf 或 Karaf 上的 Fuse,您可以选择模板。您可以创建一个空项目,它会基于三个支持的域特定语言(DSL)创建框架 Camel 上下文路由文件,或者您可以使用预定义的模板,每个模板都基于常见用例。单个模板可能不支持所有 DSL 选项。
注意对于 Java DSL,工具会生成
CamelRoute.java
文件,您可以在工具的 Java 编辑器中进行编辑,但它不会生成其图形图表示法。内容基于路由器 方式的 Camel 路由提供了示例 Camel 路由,该路由从特定位置读取文件并根据消息内容将它们路由到不同的输出文件夹。
此模板会创建一个在红帽 Fuse 服务器上运行的项目,它支持所有三个 DSL。
CXF 代码是第一个 由 CXF Web 服务调用启动的示例 Camel 路由。
此模板会创建一个在红帽 Fuse 服务器上运行的项目,它仅支持 Spring 和 Java DSL。
- 从列表中选择一个模板。
点 Finish。
该工具开始构建项目,并将它添加到 Project Explorer 视图中。
如果 Fuse 集成 透视图尚未打开,工具会询问您是否现在要切换到它:
点击 Yes 在 Fuse Integration 视角中打开新项目:
该项目会出现在 Project Explorer 视图中。默认情况下,该项目包含 Apache Camel 上下文(XML)文件。
点 canvas 底部的 Source 选项卡查看生成的 Camel 上下文文件:
如果要将另一个新的 Camel 上下文文件添加到项目中,请参阅 第 10 章 创建新 Camel XML 文件。
当您构建使用 CXF 的项目时,您可能希望构建过程自动在 Java 文件上运行,以生成 WSDL 文件。为此,请在项目的 .pom
文件中配置 java2ws
Maven 插件。请参阅: Apache CXF Development Guide, Maven 工具参考, java2ws.
解决 Maven 依赖项错误 复制链接链接已复制到粘贴板!
在创建新的 Fuse 集成项目后,您可能会遇到 Maven 依赖项错误。
虽然它可能在其他时间发生,但当您在进程完成前取消项目构建时,通常也会发生。以这种方式中断进程通常可防止所有项目的依赖项从 Maven 存储库下载,这可能需要一些时间。
通常您可以通过更新 Maven 依赖项来解决这些依赖关系错误,如下所示:
- 在 Project Explorer 视图中,右键单击 root 项目以打开上下文菜单。
-
选择 Maven
Update Project。 在 Update Maven Project 向导中:
- 如果向导列表中显示多个要更新的项目,请选择您要更新的项目。
- 点击 Force Update of Snapshots/Releases 选项启用它。
点击 OK。
在工作台的右侧,您可以查看进度状态栏,因为缺少的依赖关系是从 Maven 存储库下载的。