Jboss Fuse 简明教程
What Is Fuse?
JBoss Fuse 是 Redhat 的一个开源 ESB 解决方案。它是一个基于社区项目 Apache Servicemix 的企业解决方案。
Integration to Fuse
JBoss Fuse 是一个轻量级且灵活的集成平台,允许快速集成企业应用程序。
Fuse 最初是由 Progressive 软件公司开发的,该公司于 2012 年被 Redhat 收购。JBoss Fuse 6.1.0.redhat-379 GA 是 Fuse 的一个稳定版本,可以从其官方网站下载。
Components
Apache Camel
Apache Camel 是一款基于 EIP 的集成框架。EIP 或企业集成模式是针对企业集成中的常见问题确定的解决方案。通过组合这些预定义的即用型模式,可快速实现完整的集成解决方案。
它允许用 Java、Spring DSL 和 Scala 等多种特定领域语言编写路由逻辑。
Installing Fuse
安装 Fuse 非常简单。与其他 JBoss 产品一样,Fuse 也以 zip 文件的形式提供,可以对其进行提取,并且在进行一些轻微的配置更改后,可以直接启动它。
安装 Fuse 是一个四步流程:
Download
从以下链接下载 Fuse 6.1.0 GA。 https://www.jboss.org/
Unzip
与所有其他 JBoss 产品一样,Fuse 也是一个与平台无关的 zip 文件。
将下载的文件解压缩到要作为 Fuse 安装目录的目标目录中。明智地选择此目录,因为在 Fuse 实例的生命周期中它应保持不变。
Note - 即使 Fuse 解压缩并像其他 JBoss 产品一样启动,也不建议在安装完成后将 Fuse 安装从一个位置移动到另一位置。
Configure
解压缩 Fuse 后,你将在解压缩的目录中找到以下目录:
-
bin
-
etc
-
deploy
-
lib
-
licenses
-
extras
-
quickstarts
其中,我们将仅使用两个目录 bin 和 etc 。
实际上,在解压缩 Fuse 之后,我们应该能够直接启动 Fuse,但这将使用所有默认配置启动 Fuse,这对于生成环境来说不可取。强烈建议在启动 Fuse 之前进行以下更改。
Basic Configuration
我们将讨论有关 JBoss Fuse 的基本配置,为此,我们必须从以下命令 Edit $FUSE_INSTALLATION_DIR/etc/ 开始
-
在 user.properties #admin=admin,admin 根据需要的第一个管理员(用户名)、第二个管理员(密码)来进行更改,第三个可保留原样,因为它表示角色,不要忘记删除 # 例如 - FuseAdmin = FusePAss,admin
-
在 System.properties karafName = root,表示您想要赋予 Karaf 实例的名字。我们可以给出自己希望的名字,比如 Cont1。确保您给的名字是唯一的名字,且尚未被另一个 Fuse 实例使用。
-
在 org.ops4j.pax.web.cfg Org.osgi.service.http.port = 8181 此属性表示用于访问浏览器基础界面 HAWTIO 的端口,该界面由 Fuse 提供 HAWTIO 是一个自 6.0 起可用的面向 Fuse 的内置浏览器界面
-
在 org.ops4j.pax.url.mvn.cfg org.ops4j.pax.url.mvn.localRepository = D:/repository 此属性表示 Fuse 将从其安装工件的 Maven 的 localRepository 路径。 org.ops4j.pax.url.mvn.settings = D:/Maven/conf/settings.xml 此属性表示 Fuse 应使用的 settings.xml,以便从 Maven 获取工件。
Configuring Maven
Maven 是安装 Fuse 的先决条件。如果您不知道 maven 是什么,请参阅 https://www.tutorialspoint.com/maven/
Maven 是用于构建 Fuse 工件的构建工具。当我们发出安装工件的命令时,Fuse 首先在 Maven 的本地存储库中搜索工件。因此,我们必须让 Fuse 知道 Maven 的安装位置和 Maven 的本地存储库的路径。
编辑 $FUSE_INSTALLATION_DIR/etc/ org.ops4j.paxurl.mvn.cfg
更新以下两个属性 −
-
org.ops4j.pax.url.mvn.settings = $M2_HOME/conf /settings.xml
-
org.ops4j.pax.url.mvn.localRepository = $local_repo
Note − 请使用 Mavens settings.xml 中提到的本地存储库的实际路径,更改 $local_repo 。
Run
设置完成基本配置更改后,我们现在可以启动 Fuse。所有用于与 Fuse 搭配使用的二进制文件都位于 $FUSE_INSTALLATION_DIR 。
有两种启动 Fuse 的方法 −
-
使用 ./fuse 这会让您能够在启动 Fuse 的同一窗口中看到所有进度和日志。它会在同一终端中提供给您 Karaf 控制台,如下所示。
Note − 此命令会以控制台模式启动 Fuse,这意味着当用户退出会话或关闭终端(这是生产或开发场景中不希望出现的)时,Fuse 进程也会停止。这个脚本应该只用于调试 Fuse。
-
使用 ./start 这不会在屏幕上显示任何日志,甚至不会显示进度,但这将在后台启动 Fuse,并且当用户退出会话或关闭终端时 Fuse 服务并不会停止。在现实世界的应用程序中,需要此类行为。即使我们关闭终端,Fuse 也应该在后台运行。如果你想连接到在后台运行的 Fuse,可以使用 client 脚本,该脚本位于同一文件夹中。你应该获得下图所示的显示。退出客户端脚本不会停止 Fuse 服务。它只会关闭 Fuse 控制台。
HAWTIO
Fuse 还使用 FMC(Fuse 管理控制台)提供对它的完整 GUI 访问。你可以在 http://localhost:8181 的以下 URL 上找到 GUI。
我们通过执行命令所做的所有事情,也可以通过访问此基于浏览器的 GUI 来完成。当我们有多个容器并运行在 Fabric 环境中时,这会变得非常有用。