第 1 章 创建新的 Fuse 集成项目
概述
创建新的 Fuse 集成项目涉及以下主要步骤:
配置项目后,工具会下载所有必需的 Maven 依赖项,并创建运行和发布项目所需的 POM 文件。
开始前
在创建新的 Fuse 集成项目前,您应该有以下信息:
- 您的目标运行时环境:OpenShift 或 Fuse 单机上的 Fuse (Spring Boot、Fuse on Karaf 或 Fuse on EAP)
- 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 Boot 运行时,您可以跳过到第 3 步。
如果您为部署平台选择 Standalone :
选择目标运行时环境:
- Spring Boot
- Karaf/Fuse on Karaf
- EAP 中的 WildFly/Fuse
对于 Karaf 和 EAP 独立运行时环境,为运行时配置选择以下选项之一:
- 接受 None selected 选项(您可以稍后定义运行时配置)。
- 从下拉菜单中选择现有的运行时配置。
- 创建新的运行时配置,如 “创建新目标运行时(可选)”一节 所述。
在 Select the Camel version for your new project 窗格中,接受与运行时关联的默认 Camel 版本或更改默认值:
- 从下拉列表中选择 Camel 版本。Fuse 工具支持列出的产品化版本。
如果要使用非产品化版本(不支持),请输入不同的 Camel 版本。
您可以点 Verify 按钮来检查工具是否可以访问指定的版本。如果没有,在 Select a Target Runtime 页面标头中会显示类似以下示例的通知:
注意创建、配置和保存项目后,您可以更改 Camel 版本。请参阅 第 11 章 更改 Camel 版本。
- 选择运行时环境和用于新 Fuse 集成项目的 Camel 版本后,点 Next 打开向导的高级 项目 设置页面,然后按照 “选择项目模板”一节 中的步骤操作。
创建新目标运行时(可选)
对于 Karaf 和 EAP 单机运行时环境,您可以选择从 New Fuse Integration Project 向导创建一个新的运行时配置。
在向导的 Select a Target Runtime 页面中,点 New 打开 New server runtime environment 页面:
扩展
Red Hat JBoss Middleware
文件夹,然后选择红帽 Fuse 运行时环境。不选中 Create a new local server 选项。当您准备好发布项目时,您可以稍后创建本地服务器(请参阅 第 27.1 节 “添加服务器”)。
注意如果您检查 Create a new local server 选项,New Fuse Integration Project 向导将引导您完成额外的步骤来定义和配置 Fuse 服务器运行时(如 第 27.1 节 “添加服务器”所述)。然后,当它构建项目时,它还会将服务器运行时添加到 Fuse Integration 视角中的 服务器 视图中。
点 Next 以打开服务器的 New Server Runtime Environment 页面:
指定服务器运行时的名称、主目录、执行环境 :
- 名称 wagon- swigAccept default 或为运行时环境输入新名称。
Home Directory HEKETIClick Browse 按钮,以查找并选择服务器运行时的安装目录。
注意如果服务器上尚未安装服务器,您可以点 Download and install runtime 链接安装它,然后按照站点的下载说明进行操作。根据站点,您可能需要提供有效的凭证,然后才能继续下载过程。
Runtime JRE: Execution Environment HEKETIAccept 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。
对于 EAP 上的 Wildfly 或 Fuse,有一个模板提供调用 Bean 服务的示例 Camel 路由,以说"Hello"。此模板会创建一个在 Red Hat EAP 服务器上运行的项目,它仅支持 Spring DSL。
对于 Karaf 上的 Karaf 或 Fuse,您可以选择模板。您可以创建一个空项目,它根据三个支持的域特定语言(DSL)之一创建一个框架 Camel 上下文路由文件,或使用预定义的模板,每个项目都基于常见的用例。单个模板可能不支持所有 DSL 选项。
注意对于 Java DSL,工具会生成一个
CamelRoute.java
文件,您可以在工具的 Java 编辑器中编辑该文件,但不会生成它的图形图表示。基于内容 Based Router swig-wagonProvides 是一个 Camel 路由示例,该路由从特定位置读取文件,并根据消息内容将它们路由到不同的输出文件夹。
此模板会创建一个在红帽 Fuse 服务器上运行的项目,并支持所有三个 DSL。
CXF 代码首先 为 swig-wagonProvides 是一个由 CXF Web 服务调用启动的 Camel 路由示例。
此模板会创建一个在红帽 Fuse 服务器上运行的项目,并且仅支持 Spring 和 Java DSL。
- 从列表中选择模板。
点 Finish。
该工具开始构建项目,并将其添加到 Project Explorer 视图中。
如果 Fuse Integration 视角还没有打开,工具会询问您现在是否要切换到它:
点 Yes 在 Fuse Integration 视角中打开新项目:
该项目会出现在 Project Explorer 视图中。默认情况下,项目包含一个 Apache Camel 上下文(XML)文件。
点 canvas 底部的 Source 选项卡查看生成的 Camel 上下文文件:
如果要在项目中添加另一个新的 Camel 上下文文件,请参阅 第 10 章 创建新的 Camel XML 文件。
当您构建使用 CXF 的项目时,您可能希望构建过程自动操作 Java 文件来生成 WSDL 文件。为此,请在项目的 .pom
文件中配置 java2ws
Maven 插件。请参阅: Apache CXF 开发指南、Maven 工具参考、java2ws。
解决 Maven 依赖项错误
在创建新的 Fuse 集成项目后,您可能会遇到 Maven 依赖项错误。
虽然它可能会在其他时间发生,但在进程完成前取消项目构建时通常会发生。以这种方式中断进程通常可防止所有项目的依赖项从 Maven 存储库下载,这可能需要一些时间。
您通常可以通过更新 Maven 依赖项来解决这些依赖项错误,如下所示:
- 在 Project Explorer 视图中,右键单击 root 项目,以打开上下文菜单。
-
选择 Maven
Update Project。 在 Update Maven Project 向导中:
- 如果向导的列表中出现多个您要更新的项目,请选择您要更新的项目。
- 单击 强制更新 Snapshots/Releases 选项以启用它。
点击 确定。
在工作台的右上角,您可以查看进度状态栏,因为 Maven 存储库中下载缺少的依赖项。