第 1 章 创建新的 Fuse 集成项目
概述
创建新的 Fuse 集成项目涉及以下主要步骤:
配置项目后,工具会下载所有必需的 Maven 依赖项,并创建运行和发布项目所需的 POM 文件。
首次在 CodeReady Studio 中构建 Fuse 项目时,向导可能需要几分钟时间来完成在从远程 Maven 存储库下载依赖项时生成项目。
开始前
在创建新 Fuse 集成项目前,您应该有以下信息:
- 您的目标运行时环境:OpenShift 上的 Fuse 或 Fuse 独立(Spring Boot、Fuse on Karaf 或 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 版本。另外,您可以指定运行时配置。
选择目标环境页面 打开:
选择是否要在 Kubernetes/OpenShift 上部署项目还是在 独立 平台上部署。
如果您选择 Kubernetes/OpenShift 作为部署平台,则会自动选择 print Boot 运行时,您可以跳至第 3 步。
如果您为部署平台选择 Standalone :
选择目标运行时环境:
- Spring Boot
- Karaf/Fuse
- 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 打开向导的 Advanced Project Setup 页面,然后按照 “选择项目模板”一节 中的步骤操作。
创建新目标运行时(可选)
对于 Karaf 和 EAP 单机运行时环境,您可以选择从 New Fuse Integration Project 向导创建新的运行时配置。
在向导的 Select a Target Runtime 页面中,点 New 打开 New server runtime environment 页面:
扩展
红帽 JBoss 中间件
文件夹,然后选择红帽 Fuse 运行时环境。将 Create a new local server 选项保留为不选中状态。当您准备好发布项目时,您可以稍后创建本地服务器(请参阅 第 27.1 节 “添加服务器”)。
注意如果您检查 Create a new local server 选项,新建 Fuse Integration Project 向导将帮助您执行额外的步骤来定义和配置 Fuse 服务器运行时(如 第 27.1 节 “添加服务器”所述)。然后,当构建项目时,它还会在 Fuse 集成 视角中将服务器运行时添加到 Servers 视图中。
点 Next 打开服务器的 New Server Runtime Environment 页面:
指定服务器运行时的名称、主目录、执行环境 :
- 名称 mvapich-busyboxAccept 默认,或为运行时环境输入新名称。
Home Directory mvapich-DESTINATIONClick Browse 按钮找到并选择服务器运行时的安装目录。
注意如果还没有在机器上安装服务器,点 Download and install runtime 链接安装它,然后按照站点的下载说明安装它。根据站点,您可能需要提供有效的凭证,然后才能继续下载过程。
Runtime JRE: Execution Environment criu-busyboxAccept 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 页面提供了一个模板列表,您可以用作新项目的起点。模板基于常见用例,提供示例代码和数据,以便您快速开始。可用模板列表取决于您在上一个页面中选择的运行时环境。选择一个模板来查看其在右侧窗格中的描述。
如果没有看到一个满足您的要求的模板,您可以点 where can more examples to use as templates? link to open an information dialog with an information dialog with a more examples more examples:
要使用这些示例之一:
- 选择 Cancel 以退出 New Fuse Integration Project 向导。
- 从列出的 URL 之一克隆存储库。
- 如 第 12 章 导入现有的 Maven 项目 所述,将示例项目导入到 CodeReady Studio。
对于 OpenShift 上的 Fuse,有一个模板演示了如何使用 Spring Boot 在 Spring Boot 中配置 Camel 路由。此模板会创建一个 Fuse 集成项目,需要比 2.18.1.redhat-000012 更新的 Camel 版本。
此模板会创建一个在 OpenShift 服务器上运行的项目,它仅支持 Spring DSL。有关使用此模板的详情,请参考 第 6 章 在 OpenShift 中使用 Fuse。
对于 Wildfly 或 Fuse on EAP,有一个模板,它提供了一个示例 Camel 路由,它调用 bean 服务来表示"Hello"。此模板会创建一个在 Red Hat EAP 服务器上运行的项目,它仅支持 Spring DSL。
对于 Karaf 或 Fuse on Karaf,您可以选择模板。您可以创建一个空项目,它根据三个支持的域特定语言(DSL)之一创建一个框架 Camel 上下文路由文件,或者您可以使用预定义的模板,每个项目都基于常见用例。单个模板可能不支持所有 DSL 选项。
注意对于 Java DSL,工具会生成一个
CamelRoute.java
文件,您可以在工具的 Java 编辑器中进行编辑,但不生成图形图表示。Content Based Router categoriesProvides a sample Camel route from a specific location 读取文件,并根据消息内容将它们路由到不同的输出文件夹。
此模板会创建一个在红帽 Fuse 服务器上运行的项目,它支持所有三个 DSL。
CXF 代码 first mvapichProvides 一个由 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 向导中:
- 如果向导列表中显示多个要更新的项目,请选择您要更新的项目。
- 点 Force Update of Snapshots/Releases 选项启用它。
点击 确定。
在工作台的底部,您可以在 Maven 存储库下载缺少的依赖项时查看进度状态栏。