管 jboss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . ....

49
Red Hat Documentation Group JBoss 业级 SOA 平台 4.3 管理指南 管理 JBoss 业级 SOA 平台 4.3.CP05 的指南 4.3.5

Upload: others

Post on 22-Aug-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Red Hat Documentation Group

JBoss 企 业 级 SOA 平 台 4.3管 理 指 南

管 理 JBoss 企 业 级 SOA 平 台 4.3.CP05 的 指 南 版 4.3.5

Page 2: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

管 理 JBoss 企 业 级 SOA 平 台 4.3.CP05 的 指 南 版 4.3.5

Red Hat Documentation Group

Page 3: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

法律通告法律通告

Copyright © 2011 Red Hat, Inc..

This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 UnportedLicense. If you distribute this document, or a modified version of it, you must provide attribution to RedHat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must beremoved.

Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section4d of CC-BY-SA to the fullest extent permitted by applicable law.

Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo,and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux ® is the registered trademark of Linus Torvalds in the United States and other countries.

Java ® is a registered trademark of Oracle and/or its affiliates.

XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United Statesand/or other countries.

MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and othercountries.

Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to orendorsed by the official Joyent Node.js open source or commercial project.

The OpenStack ® Word Mark and OpenStack Logo are either registered trademarks/service marks ortrademarks/service marks of the OpenStack Foundation, in the United States and other countries andare used with the OpenStack Foundation's permission. We are not affiliated with, endorsed orsponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

摘要摘要

《 管 理 指 南 》 包 括 配 置 和 管 理 JBoss SOA 平 台 的 重 要 信 息 。

Page 4: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

目目录录

序序 言言 1. 文档约定

1.1. 排版约定1.2. 抬升式引用约定1.3. 备注及警告

第第 1 章章 配配 置置 1.1. 基 本 概 念 介 绍 1.2. 独 立 服 务 器 1.3. 群 集 的 ESB 服 务 1.4. JMS 提 供 者

1.4.1. 每 个 连 接 的 最 大 会 话 数 1.4.2. JBossMessaging1.4.3. Apache ActiveMQ1.4.4. IBM Websphere MQ Series 6.0

1.4.4.1. XA 连 接 1.4.4.2. JCA 适 配 器 1.4.4.3. 验 证

1.4.5. Oracle 高 级 队 列 (Advanced Queuing)1.4.6. T ibco 企 业 级 消 息 服 务 1.4.7. 扩 展 属 性

1.5. 数 据 库 配 置 1.5.1. 手 动 切 换 数 据 库

1.6. 使 用 JSR-170 消 息 库 1.7. 消 息 跟 踪 1.8. 对 群 集 和 失 效 切 换 的 支 持 1.9. 使 用 OpenSSO

1.9.1. 在 Tomcat 里 安 装 和 配 置 OpenSSO1.9.2. 为 JBoss SOA 平 台 配 置 OpenSSO

第第 2 章章 注注 册册 表表

第第 3 章章 配配 置置 Web 服服 务务 的的 集集 成成

第第 4 章章 缺缺 省省 的的 "ReplyTo" 端端 点点 引引 用用

第第 5 章章 ServiceBinding 管管 理理 者者

第第 6 章章 监监 控控 和和 管管 理理 6.1. JMX MBeans6.2. 监 控 和 管 理 控 制 台

6.2.1. 安 装 企 业 级 服 务 总 线 控 制 台 6.2.2. 使 用 其 他 数 据 库 6.2.3. 采 集 时 间 间 隔 6.2.4. 服 务 6.2.5. 消 息 计 数 器 6.2.6. Smooks Transformations6.2.7. Dead Letter 服 务

6.3. 消 息 警 告 6.4. JON for SOA

6.4.1. 把 JBoss SOA 平 台 服 务 器 添 加 到 JON 库 存 里 。 6.4.2. JBoss SOA ESB 统 计 信 息 6.4.3. 管 理 部 署 的 ESB 归 档 文 件

44455

77779

101111111212141415161616181819202021

23

24

25

26

272727282829293030303132323235

目录

1

Page 5: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.4.4. 自 动 服 务 发 现 (Automatic Service Discovery)

第第 7 章章 热热 部部 署署 7.1. 服 务 器 模 式 7.2. 独 立 (引 导 )模 式

第第 8 章章 发发 布布 合合 约约 信信 息息 ((Contract Publishing))8.1. Contract 应 用 程 序 8.2. 用 Action 发 布 合 约

第第 9 章章 JBoss 商商 业业 过过 程程 管管 理理 者者 9.1. jBPM 控 制 台 9.2. jBPM 的 Message 和 Scheduler 服 务

第第 10 章章 性性 能能 调调 优优 10.1. 概 述 10.2. InVM 传 输 10.3. Transport 线 程 10.4. 消 息 过 滤 器 (Message Filter)10.5. 引 用 传 递 (Passing By Reference)10.6. HTTP 路 由 器 10.7. HTTP 连 接 器 10.8. 日 志

10.8.1. HTTP 连 接 器

修修 订订 历历 史史 记记 录录

35

373737

393939

4 14141

4 2424242434343434444

4 6

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

2

Page 6: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

目录

3

Page 7: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

序序 言言

1. 文档文档约约定定本手册使用几个约定来突出某些用词和短语以及信息的某些片段。

在 PDF 版本以及纸版中,本手册使用在 Liberation 字体套件中选出的字体。如果您在您的系统中安装了Liberation 字体套件,它还可用于 HTML 版本。如果没有安装,则会显示可替换的类似字体。请注意:红帽企业 Linux 5 以及其后的版本默认包含 Liberation 字体套件。

1.1. 排版排版约约定定我们使用四种排版约定突出特定用词和短语。这些约定及其使用环境如下。

单单行粗体行粗体

用来突出系统输入,其中包括 shell 命令、文件名以及路径。还可用来突出按键以及组合键。例如:

要看到文件您当前工作目录中文件 my_next_bestselling_novel 的内容,请在 shell 提示符后输入 cat my_next_bestselling_novel 命令并按 Enter 键执行该命令。

以上内容包括一个文件名,一个 shell 命令以及一个按键,它们都以固定粗体形式出现,且全部与上下文有所区别。

按键组合与单独按键之间的区别是按键组合是使用加号将各个按键连在一起。例如:

按 Enter 执行该命令。

按 Ctrl+Alt+F2 切换到虚拟终端。

第一个示例突出的是要按的特定按键。第二个示例突出了按键组合:一组要同时按下的三个按键。

如果讨论的是源码、等级名称、方法、功能、变量名称以及在段落中提到的返回的数值,那么都会以上述形式出现,即固定粗体固定粗体。例如:

与文件相关的等级包括用于文件系统的 filesystem、用于文件的 file 以及用于目录的 dir。每个等级都有其自身相关的权限。

比例粗体比例粗体

这是指在系统中遇到的文字或者短语,其中包括应用程序名称、对话框文本、标记的按钮、复选框以及单选按钮标签、菜单标题以及子菜单标题。例如:

在主菜单条中选择「系「系统统」」 → 「首「首选项选项」」 → 「鼠「鼠标标」」启动 鼠鼠标标首首选项选项。在「按「按钮钮」」标签中点击「「惯惯用左手鼠用左手鼠标标」」 复选框并点击 关关闭闭切换到主鼠标按钮从左向右(让鼠标适合左手使用)。

要在 gedit 文件中插入特殊字符,请在主菜单栏中选择「「应应用程序」用程序」 → 「附件」「附件」 → 「字符「字符映射表」映射表」。接下来选择从 Character Map 菜单中选择Search → 「「查查找找 ......」」,在「搜「搜索」索」字段输入字符名称并点击「下一个」「下一个」按钮。此时会在「字符映射表」「字符映射表」中突出您搜索的字符。双击突出的字符将其放在「要复制的文本」「要复制的文本」字段中,然后点击「复制」「复制」按钮。现在返回您的文档,并选择 gedit 菜单中的「「编辑编辑」」 → 「粘「粘贴贴」」。

以上文本包括应用程序名称、系统范围菜单名称及项目、应用程序特定菜单名称以及按钮和 GUI 界面中的文本,所有都以比例粗体出现并与上下文区别。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

4

Page 8: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

固定粗斜体固定粗斜体 或者 比例粗斜体比例粗斜体

无论固定粗体或者比例粗体,附加的斜体表示是可替换或者变量文本。斜体表示那些不直接输入的文本或者那些根据环境改变的文本。例如:

要使用 ssh 连接到远程机器,请在 shell 提示符后输入 ssh [email protected]。如果远程机器是 example.com 且您在该其机器中的用户名为 john,请输入 ssh [email protected]

mount -o remount file-system 命令会重新挂载命名的文件系统。例如:要重新挂载 /home 文件系统,则命令为 mount -o remount /home。

要查看目前安装的软件包版本,请使用 rpm -q package 命令。它会返回以下结果:package-version-release。

请注意上述使用黑斜体的文字 -- username、domain.name、file-system、package、version 和 release。每个字都是一个站位符,可用作您执行命令时输入的文本,也可作为该系统显示的文本。

不考虑工作中显示标题的标准用法,斜体表示第一次使用某个新且重要的用语。例如:

Publican 是一个 DocBook 发布系统。

1.2. 抬升式引用抬升式引用约约定定终端输出和源代码列表要与周围文本明显分开。

将发送到终端的输出设定为 Mono-spaced Roman 并显示为:

books Desktop documentation drafts mss photos stuff svnbooks_tests Desktop1 downloads images notes scripts svgs

源码列表也设为 Mono-spaced Roman,但添加下面突出的语法:

package org.jboss.book.jca.ex1;

import javax.naming.InitialContext;

public class ExClient{ public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create();

System.out.println("Created Echo");

System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); }}

1.3. 备备注及警告注及警告最后,我们使用三种视觉形式来突出那些可能被忽视的信息。

序 言

5

Page 9: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

注意注意

备注是对手头任务的提示、捷径或者备选的解决方法。忽略提示不会造成负面后果,但您可能会错过一个更省事的诀窍。

重要重要

重要框中的内容是那些容易错过的事情:配置更改只可用于当前会话,或者在应用更新前要重启的服务。忽略‘重要’框中的内容不会造成数据丢失但可能会让您抓狂。

警告警告

警告是不应被忽略的。忽略警告信息很可能导致数据丢失。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

6

Page 10: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 1 章章 配配 置置 本 书 指 导 系 统 管 理 员 配 置 JBoss SOA 平平 台台 企企 业业 级级 总总 线线 以 用 于 金 融 机 构 、 银 行 、 电 信 公 司 以 及 其 他 大 型 企 业 。 本 章 解 释 了 在 读 者 完 成 《 起 步 指 南 》 里 的 初 始 安 装 后 如 何 配 置 软 件 。

1.1. 基基 本本 概概 念念 介介 绍绍 面 向 服 务 架 构 (Service Oriented Architecture,SOA)不 是 一 个 单 一 的 程 序 或 技 术 。 相 反 ,我 们 应 该 将 其 视 作 软 件 架 构 或 设 计 模 式 。 硬 件 的 总 线 是 一 个 物 理 连 接 器 ,它 连 接 多 个 系 统 和 子 系 统 。 它 不 是 在 两 个 系 统 间 存 在 的 大 量 点 对 点 连 接 器 ,而 是 简 单 地 将 每 个 系 统 连 接 到 总 线 上 。 企 业 级 服 务 总 线 (Enterprise ServiceBus,ESB)在 软 件 上 实 现 了 相 同 的 功 能 。

不 是 通 过 连 接 (称 为 端 点 )在 总 线 上 传 输 数 据 ,ESB 在 逻 辑 上 位 于 消 息 系 统 的 架 构 层 里 。 这 个 消 息 系 统 允 许 服 务 间 通 过 ESB 异 步 通 讯 。 事 实 上 ,当 你 使 用 ESB 时 ,任 何 东 西 从 概 念 上 来 说 都 是 服 务 (Service)(在 这 个 上 下 文 里 是 你 的 应 用 程 序 软 件 )或 者 在 服 务 间 传 送 的 消 息 (Message)。

请 注 意 ,"服 务 " 并 不 一 定 是 Web Service。 其 他 类 型 的 应 用 程 序 ,使 用 不 同 的 传 输 协 议 如 FTP 和 JMS,都 可 以 称 作 ” 服 务 “ 。

注意注意

现 在 ,你 可 能 会 想 知 道 ESB 是 否 和 SOA 是 同 一 个 东 西 。 答 案 是 ,“ 不 完 全 是 ” 。 这 是 因 为 ESB 实 际 上 并 不 组 成 一 个 自 身 的 SOA。 相 反 ,它 提 供 可 以 构 建 SOA 的 许 多 工 具 。 在 实 践 中 ,它 利 用 了 SOA所 需 要 的 松 耦 合 (loose-coupling)和 异 步 消 息 传 送 (asynchronous message passing)。 请 不 要 仅 仅 将 SOA 视 作 软 件 :它 是 一 系 列 的 原 则 、 模 式 和 最 佳 实 践 。

JBoss 企企 业业 级级 服服 务务 总总 线线 是 红 帽 提 供 的 一 个 开 源 ESB。 它 支 持 :

多 个 传 输 协 议 listener-action 模 型 (用 于 松 耦 合 服 务 )基 于 内 容 的 路 由 (content-based routing)(通 过 JBoss Rules)和 JBoss 商商 业业 过过 程程 管管 理理 者者 集 成 。 (以 使 用 service orchestration)

1.2. 独独 立立 服服 务务 器器 如 果 你 想 在 同 一 台 机 器 上 运 行 JBoss 应 用 服 务 器 (AS)和 JBoss 企企 业业 级级 SOA 平平 台台 ,你 需 要 阅 读 http://www.jboss.org/community/wiki/ConfiguringMultipleJBossInstancesOnOnemachine。

1.3. 群群 集集 的的 ESB 服服 务务 要 设 立 群 集 的 企 业 级 服 务 总 线 环 境 ,请 以 下 列 两 种 方 式 之 一 配 置 节 点 :

第 1 章 配 置

7

Page 11: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

图图 1.1. 群群 集集 场场 景景 1

图图 1.2. 群群 集集 场场 景景 2

这 些 方 法 的 区 别 是 可 识 别 企 业 级 服 务 总 线 的 网 关 在 第 一 种 情 况 下 是 群 集 的 ,而 在 第 二 种 情 况 下 是 复 制 的 。

其 他 需 要 记 住 的 两 点 是 :

每 个 群 集 队 列 在 任 何 时 候 都 必 须 部 署 在 每 个 群 集 节 点 上 。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

8

Page 12: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

客 户 必 须 在 jndi.properties 文 件 里 列 出 所 有 的 节 点 。 这 个 示 例 代 码 展 示 了 如 何 进 行 :

java.naming.provider.url=jnp://jawa01:1099java.naming.provider.url=jnp://jawa02:1099

1.4. JMS 提提 供供 者者 JBoss 企 业 级 SOA 平 台 目 前 支 持 下 列 消 息 服 务 (Java Message Service,JMS)提 供 者 :

JBoss MessagingIBM Websphere MQ Series 6.0Tibco EMS

重要重要

我 们 推 荐 JBoss Messaging 并 把 它 包 括 在 缺 省 的 配 置 里 。 任 何 兼 容 JSR-914(http://jcp.org/en/jsr/detail?id=914)的 JMS 实 现 都 应 该 能 够 运 行 ,如 ApacheActiveMQ 和 OracleAQ。 然 而 ,其 他 JMS 提 供 者 还 没 有 进 行 完 备 的 测 试 ,所 以 目 前 还 不 被 支 持 。 如 果 你 想 尝 试 其 他 JMS 提 供 者 ,你 应 该 和 参 考 相 关 文 档 。

警告警告

本 节 内 容 并 不 打 算 替 代 JMS 实 现 的 配 置 文 档 。 对 于 高 级 的 功 能 ,如 群 集 (clustering)和 管 理 (management),你 应 该 参 考 相 关 文 档 ,。

我我 怎怎 样样 才才 能能 进进 行行 配配 置置 ??

你 可 以 配 置 JMS Listeners 和 JMS Gateways,通 过 在 其 配 置 文 件 (jbossesb-listener.xml 和 jbossesb-gateway.xml)里 指 定 下 面 的 参 数 使 它 们 侦 听 队 列 和 主 题 :

jndi-URL

jndi-context-factory

jndi-pkg-prefix

connection-factory

destination-type

destination-name

重要重要

你 需 要 确 保 在 classpat 里 包 含 JMS 提 供 者 的 客 户 端 JAR 文 件 。

第 1 章 配 置

9

Page 13: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

重要重要

在 下 面 的 章 节 里 ,我 们 将 假 设 :

你 的 JMS 提 供 者 运 行 在 localhost 上 。 connection-factory 是 'ConnectionFactory'destination-type 是 'queue'destination-name 是 'queue/A'

在 阅 读 本 手 册 后 面 的 内 容 时 请 记 住 这 些 假 设 。

注意注意

你 可 以 配 置 每 个 JMSListJMSListener 和 JMSGateway 都 使 用 自 己 的 JMS 提 供 者 ,所 以 你 可 以 在 部 署 里 使 用 多 个 提 供 者 。

在 使 用 JMS 时 ,SOA 平 台 利 用 一 个 连 接 池 (Connection Pool)来 提 高 性 能 。 这 个 池 的 默 认 大 小 是 20。 要 修 改 这 个 值 ,请 设 置 ESB 配 置 文 件 里 的 transports 部 分 的 org.jboss.soa.esb.jms.connectionPool 属 性 。

如 果 不 能 获 得 初 始 的 会 话 ,这 个 服 务 将 在 30 秒 内 不 停 地 尝 试 。 (这 个 超 时 时 间 可 以 通 过 org.jboss.soa.esb.jms.sessionSleep 属 性 进 行 配 置 。 )

1.4.1. 每每 个个 连连 接接 的的 最最 大大 会会 话话 数数 顾 名 思 义 ,JmsConnectionPool 池 化 所 有 JMS 组 件 (如 JMS Listener、 Courier 和 Router)使 用 的 JMS 会 话 。

请 注 意 ,有 些 JMS 提 供 者 限 制 了 每 个 连 接 的 会 话 数 量 。 此 时 ,对 于 每 个 JmsConnectionPool 实 例 ,你 可 以 指 定 每 个 JMS 连 接 创 建 的 最 大 会 话 数 目 。 要 实 现 这 一 点 ,你 可 以 在 JMS 组 件 的 JNDI 配 置 文 件 里 指 定 一 个 或 两 个 下 列 参 数 :

org.jboss.esb.jms.max.sessions.per.connection

这 个 是 每 个 连 接 允 许 的 会 话 的 最 大 数 目 (包 括 XA 和 非 XA 会 话 实 例 )。 缺 省 值 是 JmsConnectionPool 所 允 许 的 最 大 JMS 会 话 数 目 ,通 常 是 20(如 jbossesb-properties.xml 里 所 配 置 的 )。

org.jboss.esb.jms.max.xa.sessions.per.connection

这 个 每 个 连 接 所 允 许 的 最 大 XA 会 话 数 目 ,它 的 缺 省 值 是 org.jboss.esb.jms.max.sessions.per.connection。

如 果 上 面 两 个 参 数 都 没 有 配 置 ,JmsConnectionPool 将 创 建 一 个 JMS 连 接 并 用 它 来 创 建 所 有 的 JMS 会 话 。

通 过 JMS 提 供 者 配 置 上 的 普 通 属 性 来 修 改 配 置 ,如 下 面 的 例 子 所 示 :

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

10

Page 14: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

<jms-provider ...> <property name="org.jboss.esb.jms.max.sessions.per.connection" value="5" /> <property name="org.jboss.esb.jms.max.xa.sessions.per.connection" value="1" /> <!-- And add providers.... --></jms-provider>

1.4.2. JBossMessagingJBoss Messaging 是 JBoss SOA 平平 台台 的 缺 省 JMS 提 供 者 。

设 置 它 的 参 数 以 反 映 下 面 的 配 置 :

jndi-URL="localhost”jndi-context-factory="org.jnp.interfaces.NamingContextFactory"connection-factory="ConnectionFactory"destination-type="queue"destination-name="queue/A"

Jar 文 件 jboss-messaging-client.jar 必 须 包 含 在 你 的 classpath 里 。

注意注意

配 置 群 集 的 JBoss Messaging 可 提 供 JMS 的 负 载 平 衡 和 实 效 切 换 功 能 。 因 为 在 不 同 的 JBossMessaging 版 本 里 ,这 个 功 能 已 经 有 所 变 化 ,你 应 该 参 考 JBoss Messaging 文 档 以 获 取 更 多 细 节 。

1.4.3. Apache ActiveMQ

警告警告

Apache ActiveMQ 还 没 有 进 行 完 备 的 测 试 ,所 以 它 还 不 被 支 持 。

如 要 使 用 ,请 设 置 下 列 参 数 :

jndi-URL="tcp://localhost:61616”jndi-context-factory="org.apache.activemq.jndi.ActiveMQInitialContextFactory"connection-factory="ConnectionFactory"destination-type="queue"destination-name="queue/A"

然 后 ,确 保 class-path 包 含 :

activemq-core-4.x

backport-util-concurrent-2.1.jar

这 些 文 件 都 位 于 lib/ext/jms/activemq 子 目 录 下 。

1.4.4. IBM Websphere MQ Series 6.0使 用 下 列 JNDI 参 数 来 配 置 任 何 ESB 的 JMS 组 件 上 的 IBM Websphere MQ series (WMQ) :

第 1 章 配 置

11

Page 15: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

jndi-URL="localhost:1414/SYSTEM.DEF.SVRCONN”jndi-context-factory="com.ibm.mq.jms.context.WMQInitialContextFactory"connection-factory="WMQQueueManager"destination-type="queue"destination-name="QUEUEA"

其其 他他 WMQ JAR 文文 件件

请 注 意 ,connection-factory 设 置 应 该 引 用 WMQ 队 列 管 理 者 的 名 称 。 (这 必 须 位 于 配 置 JMS 目 的 地 的 WMQ 服 务 器 上 )

为 了 从 JBoss Enterprise Service Bus 接

下 列 文 件 应 该 包 含 在 class-path 里 :

com.ibm.mq.pcf.jar

mqcontext.jar

com.ibm.mq.jar(客 户 端 jar 文 件 )com.ibm.mqjms.jar (客 户 端 jar 文 件 )

注意注意

这 些 JAR 文 件 可 以 在 WMQ 的 Java/lib 目 录 里 找 到 。 请 注 意 ,MQ 5.3 和 MQ 6.0 的 客 户 端 Jar文 件 不 同 ,但 6.0 的 Jar 文 件 应 该 向 后 兼 容 。 这 些 Jar 文 件 不 是 开 源 的 也 不 是 我 们 提 供 的 。 你 需 要 从 Websphere AS 和 MQ 安 装 里 获 取 它 们 。

1.4 .4 .1. XA 连连 接接 要 在 使 用 Websphere MQ 的 JBoss 企企 业业 级级 服服 务务 总总 线线 上 管 理 任 何 XA 连 接 资 源 ,请 在 $SOA_ROOT/server/$PROFILE/lib/ 目 录 里 安 装 WMQ 扩扩 展展 客客 户户 端端 JAR 文 件 。 这 个 JAR 文 件 名 为 com.ibm.mqetclient.jar 且 必 须 从 IBM 的 合 作 伙 伴 或 代 理 那 里 获 取 。

一 旦 安 装 了 这 个 库 ,Websphere MQ 将 每 个 JMS 连 接 的 JMS 服 务 会 话 数 据 限 制 为 1。 这 个 限 制 应 用 于 XA和 非 XA 连 接 。

然 后 ,配 置 JmsConnectionPool 的 org.jboss.esb.jms.max.sessions.per.connection 属 性 。 简 单 地 将 这 个 属 性 值 设 置 为 1 就 可 以 了 。 (更 多 信 息 请 参 考 本 文 档 的 "Max Sessions Per Connection" 章 节 )

注意注意

设 置 这 个 属 性 暗 示 了 JmsConnectionPool 将 消 费 WMQ 提 供 者 上 的 多 个 JMS 连 接 。 请 注 意 ,这 个 设 置 不 需 要 为 任 何 基 于 Websphere MQ 的 J2EE 连 接 器 架 构 (JCA) (JCA) 提 供 者 配 置 进 行 调 整 。

1.4 .4 .2. JCA 适适 配配 器器

注意注意

IBM Websphere MQ 的 缺 省 安 装 没 有 包 含 JCA 适 配 器 。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

12

Page 16: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

过过程程 1.1. 配配 置置 JCA 适适 配配 器器 的的 步步 骤骤

1. 更更 新新 IBM Websphere MQ首 先 ,更 新 IBM Websphere MQ 的 版 本 到 最 新 的 6.0.2.1 以 获 得 J2EE 连 接 器 架 构 适 配 器 。

2. 在在 JBoss 企企 业业 级级 SOA 平平 台台 服服 务务 器器 上上 部部 署署 适适 配配 器器 WMQ JCA 适 配 器 wmq.jmsra.rar,可 以 在 WebSphereMQ 的 Java/lib/jca/ 下 找 到 。 要 部 署 这 个 适 配 器 ,复 制 这 个 文 件 到 SOA 平 台 服 务 器 的 ${SOA_ROOT}/server/${CONFIG}/deploy/目 录 里 。

3. 创创 建建 一一 个个 JCA 连连 接接 工工 厂厂 的的 配配 置置 通 过 创 建 JCA 连连 接接 工工 厂厂 配 置 文 件 来 配 置 SOA 平 台 服 务 器 以 使 用 WMQ JCA 适 配 器 。 (这 个 文 件 名 无 关 紧 要 ,但 应 该 具 有 描 述 性 。 )然 后 复 制 这 个 文 件 到 SOA 平 台 服 务 器 的 ${SOA_ROOT}/server/{CONFIG}/deploy/ 目 录 下 。 例例 1.1. JCA 连连 接接 工工 厂厂 的的 配配 置置

<?xml version="1.0" encoding="UTF-8"?> <connection-factories>

<mbean code="org.jboss.jms.jndi.JMSProviderLoader" name=":service=JMSProviderLoader,name=WSMQJmsProvider"> <attribute name="ProviderName">WSMQProvider</attribute> <attribute name="ProviderAdapterClass"> org.jboss.jms.jndi.JNDIProviderAdapter </attribute> <attribute name="QueueFactoryRef">ConnectionFactory</attribute> <attribute name="TopicFactoryRef">ConnectionFactory</attribute> <attribute name="FactoryRef">ConnectionFactory</attribute> <attribute name="Properties">java.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactoryjava.naming.provider.url=mqserver.domain.com:1414/SYSTEM.DEF.SVRCONN </attribute> </mbean>

<tx-connection-factory> <jndi-name>WSMQJmsXA</jndi-name> <xa-transaction/> <rar-name>jms-ra.rar</rar-name> <connection-definition> org.jboss.resource.adapter.jms.JmsConnectionFactory </connection-definition> <config-property name="SessionDefaultType" type="java.lang.String"> javax.jms.Queue </config-property> <config-property name="JmsProviderAdapterJNDI" type="java.lang.String"> java:/WSMQProvider </config-property> <max-pool-size>20</max-pool-size> <security-domain-and-application> JmsXARealm </security-domain-and-application></tx-connection-factory>

</connection-factories>

J2EE 连 接 器 架 构 适 配 器 现 在 可 用 了 。 你 可 以 通 过 配 置 好 的 连 接 工 厂 访 问 它 。

第 1 章 配 置

13

Page 17: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

连 接 工 厂 现 在 可 以 使 用 了 。 你 可 以 通 过 JCA 提 供 者 配 置 提 供 事 务 性 上 下 文 来 实 现 。 (下 面 的 例 子 在 ${SOA_ROOT}/server/${CONFIG}/deploy/jbpm.esb/META-INF/jboss-esb.xml 里 进 行 配 置 )

<?xml version="1.0" encoding="UTF-8"?> <jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">

<providers> <jms-jca-provider connection-factory="ConnectionFactory" jndi-URL="mqserver.domain.com:1414/SYSTEM.DEF.SVRCONN" jndi-context-factory="com.ibm.mq.jms.context.WMQInitialContextFactory" name="CallbackQueue-JMS-Provider" providerAdapterJNDI="java:/WSMQProvider"> <jms-bus busid="jBPMCallbackBus"> <jms-message-filter dest-name="queue/CallbackQueue" dest-type="QUEUE"/> </jms-bus> </jms-jca-provider> </providers>

<services> <service category="JBossESB-Internal" description="Service which makes Callbacks into jBPM" name="JBpmCallbackService"> <listeners> <jms-listener busidref="jBPMCallbackBus" maxThreads="1" name="JMS-DCQListener"/> </listeners> <actions mep="OneWay"> <action class="org.jboss.soa.esb.services.jbpm.actions.JBpmCallback" name="action"/> </actions> </service> </services>

</jbossesb>

1.4 .4 .3. 验验 证证

警告警告

如 果 正 在 使 用 Websphere MQ,下 面 的 异 常 消 息 可 能 会 出 现 。 通 过 添 加 运 行 JBoss 企企 业业 级级 SOA平平 台台 到 用 户 的 名 字 到 mqm 组 可 以 解 决 这 个 问 题 。

Message: Unable to get a MQ series Queue Manager or Queue Connection. Reason: failed to create connection -javax.jms.JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager

访 问 MQ 的 用 户 必 须 是 mqm 组 的 成 员 。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

14

Page 18: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

警告警告

Oracle 高 级 队 列 还 未 进 行 充 分 测 试 ,它 不 是 被 支 持 的 JMS 实 现 。

对 于 Oracle AQ,你 应 该 这 样 设 置 参 数 :

connection-factory=”QueueConnectionFactory”

并 使 用 下 列 的 属 性 :

<property name="java.naming.factory.initial" value="org.jboss.soa.esb.oracle.aq.AQInitialContextFactory"/><property name="java.naming.oracle.aq.user" value="<user>"/><property name="java.naming.oracle.aq.password" value="<pw>"/><property name="java.naming.oracle.aq.server" value="<server>"/><property name="java.naming.oracle.aq.instance" value="<instance>"/><property name="java.naming.oracle.aq.schema" value="<schema>"/><property name="java.naming.oracle.aq.port" value="1521"/><property name="java.naming.oracle.aq.driver" value="thin"/>

注意注意

你 可 能 注 意 到 了 对 InitialContext 工 厂 的 引 用 。 只 有 你 希 望 避 免 Oracle 高 级 队 列 注 册 LDAP 服 务 器 时 ,它 才 是 必 需 的 。 AqinitialContextFactory 引 用 org.jboss.soa.esb.oracle.aq-4.2.jar 里 的 代 码 。 这 个 jar 文 件 位 于 plugins/org.jboss.soa.esb.oracle.aq,你 需 要 把 它 部 署 在 jbossesb.sar/lib 目 录 里 。

当 创 建 队 列 时 ,请 确 保 选 择 SYS AQ$_JMS_MESSAGE 的 payload 类 型 。

注意注意

你 可 以 在 ${SOA_ROOT}/samples/quickstarts/helloworld_action/oracle-aq/ 目 录 里 找 到 一 个 jboss-esb.xml 配 置 文 件 示 例 。

1.4.6. Tibco 企企 业业 级级 消消 息息 服服 务务 要 使 用 T ibco 企 业 级 消 息 服 务 ,请 设 置 下 列 参 数 :

jndi-URL="tcp://localhost:7222”jndi-context-factory=”com.tibco.tibjms.naming.TibjmsInitialContextFactory"connection-factory="QueueConnectionFactory"destination-type="queue"destination-name="<queue-name>"

然 后 ,检 查 Tibco 企企 业业 级级 消消 息息 服服 务务 附 带 的 客 户 端 JAR 是 否 包 含 在 classpath 里 。 (这 些 文 件 位 于 tibco/ems/clients/java 目 录 里 )

jaxp.jar

第 1 章 配 置

15

Page 19: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

jndi.jar

tibcrypt.jar

tibjmsapps.jar

tibrvjms.jar

jms.jar

jta-spec1_0_1.jar

tibjmsadmin.jar

tibjms.jar

注意注意

TibcoEMS 4.4.1 和 5.0 已 经 在 JBoss 企 业 级 SOA 平 台 下 进 行 了 测 试 。

1.4.7. 扩扩 展展 属属 性性 在 缺 省 情 况 下 ,用 于 获 取 JMS 资 源 的 JNDI 配 置 将 继 承 所 有 名 称 以 "java.naming" 前 缀 的 属 性 。 一 些 JMS提 供 者 可 以 指 定 使 用 不 同 前 缀 的 属 性 。

注意注意

某 些 Java 消 息 服 务 提 供 者 指 定 了 不 同 的 命 名 前 缀 。 为 了 支 持 这 些 不 同 的 前 缀 ,红 帽 提 供 了 可 以 为 每 个 提 供 者 指 定 单 独 属 性 前 缀 的 功 能 。 要 使 用 这 个 功 能 ,配 置 相 关 jms-provider 元 素 的 jms-provider 属 性 来 配 置 这 些 前 缀 ,它 是 一 个 逗 号 隔 开 的 列 表 。 (扩 展 属 性 也 可 以 在 相 同 的 位 置 进 行 配 置 。 )

<jms-provider name="JMS" connection-factory="ConnectionFactory"> <property name="jndi-prefixes" value="test.prefix."/> <property name="test.prefix.extension1" value="extension1"/> <property name="test.prefix.extension2" value="extension2"/></jms-provider>

1.5. 数数 据据 库库 配配 置置 SOA 平 台 使 用 数 据 库 来 持 久 化 服服 务务 注注 册册 表表 和 消消 息息 库库 ((Message-Store))。

数 据 库 配 置 是 由 数数 据据 库库 配配 置置 脚脚 本本 处 理 的 。 更 多 信 息 请 参 考 《 SOA 起 步 指 南 》 。 数数 据据 库库 配配 置置 脚脚 本本 是 我 们 支 持 的 用 于 数 据 库 配 置 的 机 制 。 本 节 剩 余 的 内 容 仅 供 参 考 。

注意注意

用 于 消 息 存 储 数 据 库 配 置 的 SQL 脚 本 可 以 在 PROFILE/deploy/jbossesb.esb/message-store-sql 目 录 里 找 到 。 服 务 注 册 表 ,jUDDI v3,使 用 Hibernate 来 持 久 化 数 据 ,因 此 对 于 jUDDIv3 来 说 没 有 SQL 脚 本 。

1.5.1. 手手 动动 切切 换换 数数 据据 库库 本 节 解 释 了 如 何 从 缺 省 的 数 据 库 (Hypersonic) 移 植 到 PostgreSQL。 这 些 步 骤 对 于 其 他 数 据 库 也 是 几 乎 一

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

16

Page 20: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

样 的 。

警告警告

本 节 仅 可 用 于 演 示 目 的 。 数 据 库 配 置 不 应 该 手 动 完 成 。 本 书 包 含 了 这 些 说 明 以 展 示 Database 配配 置置 脚脚 本本 如 何 工 作 且 只 应 作 为 参 考 使 用 。 手 动 配 置 可 能 使 Database 配配 置置 脚脚 本本 无 法 运 行 。 如 果 要 手 动 配 置 数 据 库 ,请 联 系 红 帽 支 持 以 寻 求 帮 助 。

1. 删 除 deploy/hsqldb-ds.xml 并 在 deploy/postgres-ds.xml 里 添 加 下 面 一 行 :

<?xml version="1.0" encoding="UTF-8"?><datasources> <local-tx-datasource> <jndi-name>DefaultDS</jndi-name> <connection-url>jdbc:postgresql://host:port/database</connection-url> <driver-class>org.postgresql.Driver</driver-class> <user-name>username</user-name> <password>password</password> <metadata> <type-mapping>PostgreSQL 8.3</type-mapping> </metadata> <check-valid-connection-sql>select count(*) from jbm_user</check-valid-connection-sql> </local-tx-datasource></datasources>

你 可 以 根 据 需 要 修 改 连 接 参 数 。 然 而 ,DS 名 称 必 须 是 DefaultDS。 2. Replace the contents of deploy/jbossesb-registry.sar/juddi-ds.xml with the same

configuration as that created in the previous step (change the database name if need be.) Ensurethat jndi-name (juddiDB) is kept. �

3. Replace the contents of deploy/jbossesb.esb/message-store-ds.xml with the sameconfiguration that was created in step one (change the database name if need be.) Again, ensurethat jndi-name (JBossESBDS) is kept. �

4. 将 deploy/jbossesb.esb/jbossesb-service.xml 文 件 里 的 message-store-sql 元 素 的 数 据 库 名 替 换 为 :

<?xml version="1.0" encoding="UTF-8"?>

<server> <mbean code="org.jboss.internal.soa.esb.dependencies.DatabaseInitializer" name="jboss.esb:service=MessageStoreDatabaseInitializer"> <attribute name="Datasource">java:/JBossESBDS</attribute> <attribute name="ExistsSql">select * from message</attribute> <attribute name="SqlFiles"> message-store-sql/postgresql/create_database.sql </attribute> <depends>jboss.jca:service=DataSourceBinding,name=JBossESBDS</depends> </mbean></server>

5. 编 辑 jbossesb-registry.sar/META-INF/persistence.xml 文 件 。 hibernate.dialect 属 性 必 须 设 置 为 将 用 作 数 据 源 的 数 据 库 的 类 型 。 (例 如 ,它 可 能 是 org.hibernate.dialect.PostgreSQLDialect)

第 1 章 配 置

17

Page 21: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6. 用 你 正 运 行 的 JBM 里 的 postgres-persistence-service.xml 替 换 deploy/jboss-messaging/hsqldb-persistence-service.xml。 请 注 意 ,版 本 号 需 要 匹 配 ,如 果 不 同 可 能 无 法 工 作 。 这 些 文 件 可 以 在 JBM 的 src/etc/server/default/deploy 里 找 到 。

7. 把 数 据 库 驱 动 复 制 到 服 务 器 的 lib 目 录 并 启 动 服 务 器 。 8. 启 动 服 务 器 。

1.6. 使使 用用 JSR-170 消消 息息 库库 多 条 消 息 存 储 可 以 通 过 JBoss SOA 平 台 的 插 件 架 构 来 实 现 。 其 中 一 个 选 择 是 用 JSR-170 兼 容 的 Javacontent repository (JCR) 替 换 缺 省 的 数 据 库 。 这 个 实 现 被 称 为 Apache Jackrabbit。

要 启 用 它 ,在 ${SOA_ROOT}/server/${CONFIG}/deploy/jbossesb.sar/jbossesb-properties.xml 的 "Core" 部 分 添 加 下 列 属 性 :

<property name="org.jboss.soa.esb.persistence.base.plugin.jcr" value="org.jboss.internal.soa.esb.persistence.format.jcr.JCRMessageStorePlugin"/>

这 会 在 可 用 的 消 息 库 列 表 里 添 加 JCR 插 件 。 JCR 消 息 库 可 以 通 过 JNDI 使 用 现 有 的 库 或 着 在 本 地 创 建 独 立 的 实 例 。 下 面 的 属 性 列 表 应 该 添 加 到 jbossesb-properties.xml 里 的 "dbstore" 部 分 来 配 置 对 库 的 访 问 :

<property name="org.jboss.soa.esb.persistence.jcr.jndi.path" value="jcr"/><property name="org.jboss.soa.esb.persistence.jcr.username" value="username"/><property name="org.jboss.soa.esb.persistence.jcr.password" value="password"/><property name="org.jboss.soa.esb.persistence.jcr.root.node.path" value="JBossESB/MessageStore"/>

jcr.jndi.path - 寻 找 库 的 可 选 JNDI 路 径 。 如 果 没 有 指 定 ,新 的 库 将 根 据 ${SOA_ROOT}/server/${CONFIG}/deploy/jbossesb.esb/repository.xml 创 建 ,库 数 据 存 储 在 ${SOA_ROOT}/server/${CONFIG}/data/repository/ 目 录 里 。 jcr.username - 获 取 库 会 话 的 用 户 名 jcr.password - 获 取 库 会 话 的 密 码 jcr.root.node.path - 相 对 消 息 存 储 的 库 的 根 目 录 的 路 径

要 快 速 的 测 试 你 的 JCR 消 息 库 是 否 配 置 正 确 ,可 以 在 现 有 服 务 里 添 加 org.jboss.soa.esb.actions.persistence.StoreJCRMessage action。 这 个 action 将 试 图 当 前 的 消 息 存 储 在 JCR 库 里 。

1.7. 消消 息息 跟跟 踪踪 跟 踪 所 有 通 过 JBoss SOA 平 台 发 送 的 消 息 是 有 可 能 的 。 基 于 许 多 原 因 ,如 审 计 和 调 试 ,这 经 常 是 必 需 的 。 消 息 必 须 用 消 息 头 部 信 息 的 MessageID 字 段 唯 一 标 识 以 便 跟 踪 。 这 会 在 《 程 序 员 指 南 》 里 提 到 。

所 有 JBoss SOA 组 件 和 消 息 的 交 互 都 会 被 登 记 。 日 志 消 息 将 包 含 和 消 息 相 关 的 头 部 信 息 、 启 用 多 个 SOA 平 台 实 例 间 的 相 互 关 系 。 在 输 出 里 寻 找 下 列 信 息 可 以 识 别 这 些 消 息 :

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

18

Page 22: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

header: [ To: EPR: PortReference < <wsa:Address ftp://foo.bar/> >,From: null, ReplyTo: EPR: PortReference < <wsa:Address http://bar.foo/> >, FaultTo: null, Action: urn:dowork, MessageID: urn:foo/bar/1234, RelatesTo: null ]

而 且 ,你 可 以 启 用 一 个 日 志 元 数 据 过 滤 器 (MetaData Filter),它 的 唯 一 作 用 是 在 消 息 输 入 到 SOA 平 台 组 件 或 者 从 中 输 出 时 发 布 日 志 报 告 。 这 个 过 滤 器 ,org.jboss.internal.soa.esb.message.filter.TraceFilter,可 以 和 其 他 过 滤 器 一 起 添 加 到 JBossESB 配 置 文 件 的 Filter 部 分 ,因 为 它 对 消 息 的 输 入 或 输 出 并 没 有 影 响 。

每 当 消 息 通 过 这 个 过 滤 器 时 ,你 可 以 看 到 下 列 Information 级级 别别 的 日 志 报 告 :

TraceFilter.onOutput ( header: [ To: EPR: PortReference < <wsa:Address ftp://foo.bar/> >, From: null, ReplyTo: EPR: PortReference <<wsa:Address http://bar.foo/> >, FaultTo: null, Action: urn:dowork, MessageID: urn:foo/bar/1234, RelatesTo: null ] )

TraceFilter.onInput ( header: [ To: EPR: PortReference < <wsa:Address ftp://foo.bar/> >, From: null, ReplyTo: EPR: PortReference < <wsa:Address http://bar.foo/> >, FaultTo: null, Action: urn:dowork,MessageID: urn:foo/bar/1234, RelatesTo: null ] )

只 有 属 性 org.jboss.soa.esb.messagetrace 被 设 置 为 off/OFF 时 ,TraceFilter 才 会 记 录 日 志 。 其 缺 省 色 设 置 是 off/OFF。 如 果 启 用 ,它 将 为 所 有 通 过 它 的 消 息 记 录 日 志 。 然 而 你 可 以 对 哪 些 消 息 记 录 日 志 或 者 忽 略 来 启 用 更 细 颗 粒 度 的 控 制 ,为 此 你 需 要 把 这 个 属 性 设 置 为 off/OFF。org.jboss.soa.esb.message.unloggable 属 性 为 yes/YES 的 消 息 将 被 此 过 滤 器 所 忽 略 。

1.8. 对对 群群 集集 和和 失失 效效 切切 换换 的的 支支 持持 JBoss SOA 平平 台台 支 持 stateless 服 务 的 失 效 切 换 。 详 情 请 参 考 《 程 序 员 指 南 》 ,但 请 注 意 下 列 要 点 :

因 为 ServiceInvoker 对 用 户 隐 藏 了 大 部 分 的 失 效 切 换 的 复 杂 性 ,它 只 能 用 于 原 生 的 SOA 平 台 消 息 。 而 且 ,不 是 所 有 的 网 关 都 进 行 了 修 改 以 适 应 ServiceInvoker,所 以 转 入 的 SOA-unaware 的 消 息 并 不 总 能 利 用 服 务 的 失 效 切 换 。 当 ServiceInvoker 试 图 递 送 消 息 时 ,它 可 以 选 择 多 个 端 点 引 用 (Endpoint References,EPR)。 为 了 帮 助 选 择 端 点 ,你 可 以 配 置 一 个 策 略 。 在 jbossesb-properties.xml 里 ,你 可 以 选 择 org.jboss.soa.esb.loadbalancer.policy。 现 在 系 统 提 供 了 3 个 策 略 ,你 也 可 以 创 建 自 己 的 策 略 。

1. First Available:如 果 找 到 了 健 康 的 服服 务务 绑绑 定定 ,它 将 被 使 用 ,直 至 其 终 止 。 然 后 将 使 用 列 表 里 的 下 一 个 端 点 引 用 。 使 用 这 个 策 略 时 ,两 个 服 务 实 例 间 没 有 负 载 平 衡 。

2. Round Robin:典 型 的 负 载 平 衡 策 略 ,每 个 端 点 引 用 (End-point Reference)都 会 按 照 列 表 里 的 顺 序 进 行 选 择 。

3. Random Robin:它 和 前 一 策 略 类 似 ,但 随 机 进 行 选 择 。 策 略 使 用 的 端 点 引 用 列 表 可 能 会 越 来 越 短 ,因 为 终 止 运 行 的 EPR 会 逐 渐 从 列 表 里 删 除 。 当 这 个 列 表 为 空 或 者 超 过 了 列 表 缓 存 的 time-to-live 时 ,ServiceInvoker 将 从 注 册 表 里 获 取 一 个 新 的 EPR 列 表 。org.jboss.soa.esb.registry.cache.life 属 性 缺 省 为 60000 毫 秒 ,但 你 可 以 在 jbossesb-properties文 件 里 对 其 进 行 设 置 。 如 果 端 点 引 用 都 不 能 工 作 ,则 可 以 使 用 消 息 重 递 送 服 务 (Message Redelivery Service)。 如 果 在 群 集 里 的 多 个 节 点 上 运 行 相 同 的 服 务 ,在 服 务 可 以 完 全 工 作 在 群 集 环 境 之 前 ,你 需 要 等 待 服 务 注 册 表 缓 存 重 新 验 证 。 你 可 以 在 ${SOA_ROOT}/server/${CONFIG}/deploy/jbossesb.sar/jbossesb-properties.xml 里 设

第 1 章 配 置

19

Page 23: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

置 这 个 缓 存 重 验 证 的 超 时 时 间 。

<properties name="core"> <!-- 60 seconds is the default --> <property name="org.jboss.soa.esb.registry.cache.life" value="60000"/></properties>

如 果 你 把 org.jboss.soa.esb.failure.detect.removeDeadEPR 设 置 为 true,每 当 Service Invoker怀 疑 端 点 引 用 已 经 失 败 ,它 就 会 把 该 EPR 从 注 册 表 里 删 除 。 它 使 用 要 特 别 小 心 ,所 以 缺 省 的 设 置 是 false。 对 于 超 载 的 服 务 ,也 可 能 错 误 地 从 注 册 表 删 除 其 EPR。 这 些 "orphaned" 服 务 将 不 会 再 进 行 任 何 交 互 且 必 须 重 新 启 动 才 可 以 使 用 。

1.9. 使使 用用 OpenSSOJBoss SOA 平平 台台 包 含 Open Web 单 点 登 录 服 务 软 件 (OpenSSO)。 使 用 它 可 以 减 缓 透 明 服 务 的 实 现 。

注意注意

关 于 OpenSSO 的 更 多 信 息 ,请 访 问 :http://opensso.dev.java.net。

1.9.1. 在在 Tomcat 里里 安安 装装 和和 配配 置置 OpenSSO在 JBoss SOA 平 台 里 部 署 OpenSSO 有 一 个 已 知 的 问 题 ,但 它 也 可 以 部 署 到 SOA 平 台 里 使 用 的 其 他 Web容 器 里 。

注意注意

你 可 以 在 https://jira.jboss.org/jira/browse/SOA-731 里 找 到 关 于 部 署 问 题 的 细 节 。

这 里 提 供 的 说 明 用 于 在 Tomcat 里 部 署 OpenSSO。 关 于 在 其 他 We 容 器 里 使 用 OpenSSO 的 信 息 ,你 可 以 在 https://opensso.dev.java.net/public/use/docs/fampdf/index.html 里 找 到 。

过过程程 1.2. 在在 Tomcat 里里 部部 署署 OpenSSO

1. 从 Apache 网 站 http://tomcat.apache.org 里 下 载 Tomcat。

注意注意

红 帽 客 户 可 以 从 软 件 库 获 取 并 安 装 Tomcat 而 不 需 要 从 Apache 网 站 上 去 下 载 。

2. 解 压 到 某 个 目 录 。 下 面 的 例 子 假 设 这 个 目 录 是 /opt/tomcat。 3. 编 辑 /opt/tomcat/bin/catalina.sh (catalina.bat 用 于 Windows 部 署 )并 添 加 -Xmx1G到 JAVA_OPTS 属 性 。 这 指 定 了 JVM 实 例 的 最 大 堆 大 小 为 1G 字 节 。 例例 1.2. 在在 JAVA_OPTS 里里 指指 定定 堆堆 的的 最最 大大 值值 。。

JAVA_OPTS="$JAVA_OPTS -Xmx1G -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

20

Page 24: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4. 从 OpenSSO 网 站 https://opensso.dev.java.net/public/use/index.html 里 下 载 opensso.zip(build 4.5)。

5. 解 压 opensso.zip 并 把 opensso.war 从 deployable-war/ 复 制 到 /opt/tomcat/webapps/。

6. 如 果 你 想 在 相 同 的 主 机 上 部 署 JBoss 企企 业业 级级 SOA 平平 台台 和 Tomcat,你 可 以 在 $tomcat/server.xml 里 更 新 Tomcat 的 端 口 :例例 1.3. 更更 新新 Tomcat 的的 端端 口口

<Connector port="8090" protocol="HTTP/1.1"><Connector port="8099" protocol="AJP/1.3" redirectPort="8443"/>

7. 运 行 /opt/tomcat/bin/startup.sh(Windows 里 是 startup.bat)启 动 Tomcat。 8. 在 浏 览 器 里 打 开 http://localhost:8090/opensso 。 9. 点 击 Create Default Configuration。 这 会 使 OpenSSO 用 缺 省 值 对 自 己 进 行 配 置 。

10. 为 缺 省 用 户 和 代 理 帐 号 输 入 密 码 。 这 两 个 帐 号 不 能 使 用 相 同 的 密 码 。 11. 用 前 一 步 骤 提 供 的 凭 证 登 录 http://localhost:8090/opensso。

1.9.2. 为为 JBoss SOA 平平 台台 配配 置置 OpenSSOopenssoclientsdk.jar 里 找 到 的 AuthContext 类 执 行 验 证 。 下 面 的 步 骤 描 述 了 启 用 这 种 集 成 所 要 求 的 配 置 。

过过程程 1.3. 配配 置置 OpenSSO 集集 成成

1. 编 辑 ${SOA_ROOT}/server/${CONFIG}/conf/login-config.xml。 login-config.xml 里 需 要 下 面 的 配 置 来 集 成 OpenSSO。 orgName 和 moduleName 属 性 必 须 和 你 在 OpenSSO 系 统 里 配 置 的 值 相 同 。 最 后 的 属 性 显 示 了 加 载 AMConfig.properties 的 位 置 。 例例 1.4 . 编编 辑辑 login-config.xml 里里 的的 OpenSSO 设设 置置

<application-policy name="OpenSSOLogin"> <authentication> <login-module code="org.jboss.soa.security.opensso.OpenSSOLoginModule" flag="required"> <module-option name="orgName">opensso</module-option> <module-option name="moduleName">DataStore</module-option> <module-option name="amPropertiesFile"> props/AMConfig.properties </module-option> </login-module> </authentication></application-policy>

2. 配 置 ${SOA_ROOT}/server/${CONFIG}/conf/props/AMConfig.properties在 缺 省 情 况 下 ,这 个 文 件 包 含 主 机 localhost、 端 口 8080、 上 下 文 路 径 为 opensso 等 信 息 。 你 可 以 手 动 修 改 为 这 些 设 置 ,但 我 们 建 议 你 使 用 setup.sh (Windows 部 署 使 用 setup.bat)来 完 成 配 置 。 setup 脚 本 位 于 ${SOA_ROOT}/samples/quickstarts/opensso/opensso-sdk/scripts。 你 必 须 在 opensso-sdk 目 录 里 运 行 这 个 脚 本 以 确 保 classpath 正 确 。

第 1 章 配 置

21

Page 25: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

[opensso-sdk]$ ./scripts/setup.shDebug directory (make sure this directory exists): /var/tmpPassword of the server application: passwordProtocol of the server: httpHost name of the server: gatekeeper.company.comPort of the server: 8080Server's deployment URI: openssoNaming URL (hit enter to accept default value, http://gatekeeper.company.com:8080/opensso/namingservice): [opensso-sdk]$

这 个 脚 本 将 提 示 你 输 入 它 所 需 的 值 并 在 resources 目 录 里 创 建 新 的 AMConfig.properties 文 件 。 然 后 你 需 要 复 制 这 个 新 文 件 到 ${SOA_ROOT}/server/${CONFIG}/conf/props/ 并 覆 盖 现 有 的 文 件 。

完 成 了 上 述 两 个 步 骤 以 后 ,你 可 以 把 OpenSSOLogin 模 块 作 为 一 个 JAAS 插 件 提 供 者 使 用 。

你 可 以 把 它 作 为 一 个 标 识 提 供 者 (identity provider)来 设 置 SOA 平 台 的 安 全 性 ,如 :

例例 1.5. 将将 OpenSSOLogin 模模 块块 作作 为为 标标 识识 符符 提提 供供 者者

<service category="OpenSSO" name="SimpleListenerSecured" description="Hello World"> <security moduleName="OpenSSOLogin" runAs="adminRole"/> <listeners> <jms-listener name="JMS-Gateway" busidref="quickstartGwChannel" maxThreads="1" is-gateway="true"/> </listeners>

<actions mep="OneWay"> <action name="debug" class="org.jboss.soa.esb.actions.SystemPrintln"> <property name="printfull" value="false"/> <property name="message" value="In Service1"/> </action> </actions></service>

学 习 了 本 章 后 ,现 在 你 应 该 有 信 心 配 置 SOA 平 台 了 。 本 书 的 剩 余 部 分 解 释 了 日 常 管 理 方 面 的 内 容 。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

22

Page 26: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 2 章章 注注 册册 表表 所 有 JBoss SOA 平平 台台 的 部 署 的 核 心 是 注 册 表 。 《 JBoss SOA 平 台 服 务 指 南 》 对 其 进 行 了 完 整 的 描 述 ,并 讨 论 了 相 关 的 配 置 信 息 。 然 而 ,下 面 的 事 情 值 得 注 意 :

服 务 运 行 时 ,它 们 通 常 把 可 以 访 问 的 端 点 引 用 (EndPointReference,EPR)放 入 注 册 表 里 。 正 常 情 况 下 ,服 务 终 止 时 应 该 把 这 些 EPR 从 注 册 表 里 删 除 。 而 且 ,在 机 器 崩 溃 或 未 正 确 部 署 服 务 时 ,一 些 条 目 仍 然 会 留 在 注 册 表 里 。 这 些 陈 旧 的 条 目 阻 止 随 后 部 署 的 正 确 执 行 。 此 时 ,你 可 以 手 工 地 删 除 这 些 条 目 。 然 而 ,在 进 行 删 除 之 前 确 保 系 统 处 于 非 活 动 状 态 是 很 重 要 的 。 有 一 个 选 项 可 以 让 ESB 在 添 加 新 实 例 之 前 从 注 册 表 里 删 除 所 有 现 有 的 服 务 条 目 。 要 使 用 它 ,只 要 简 单 地 设 置 端 点 引 用 的 remove-old-service 标 签 名 为 true。

警告警告

请 注 意 ,这 个 选 项 要 小 心 使 用 ,因 为 整 个 服 务 将 被 删 除 ,包 括 所 有 的 端 点 引 用 。

第 2 章 注 册 表

23

Page 27: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 3 章章 配配 置置 Web 服服 务务 的的 集集 成成 JBoss SOA 平 台 用 SOAPProcessor 动 作 开 放 Webservice 端 点 。 这 个 动 作 把 JBoss Webservices v2.x 容 器 集 成 到 JBoss SOA 里 ,允 许 你 调 JBoss SOA 支 持 的 任 何 频 道 上 调 用 JBossWS 端 点 点

重要重要

JBossWS 2.0.1.SP2 (native) 或 更 高 版 本 必 须 安 装 在 你 的 JBoss SOA 平平 台台 服 务 器 上 以 能 够 使 用 SOAPProcessor 行 为 。

注意注意

更 多 的 细 节 ,你 应 该 参 考 《 程 序 员 指 南 》 。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

24

Page 28: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 4 章章 缺缺 省省 的的 "ReplyTo" 端端 点点 引引 用用 JBoss SOA 使 用 端 点 引 用 (Endpoint Reference,EPR)来 对 消 息 寻 址 。 如 《 程 序 员 指 南 》 里 所 描 述 的 ,消 息 具 有 含 有 接 收 者 地 址 、 序 列 号 (用 于 消 息 纠 正 )、 可 选 的 回 复 地 址 、 纠 错 信 息 等 的 头 部 信 息 。 因 为 所 推 荐 的 JBoss SOA 的 交 互 模 式 基 于 单 程 (One-way)消 息 交 换 ,对 消 息 的 回 复 并 不 需 要 自 动 化 :它 取 决 于 应 用 程 序 的 发 送 者 是 否 需 要 回 复 。

回 复 地 址 是 头 部 路 由 信 息 里 的 可 选 部 分 ,应 用 程 序 在 有 需 要 时 应 该 设 置 它 。 当 需 要 回 复 而 ReplyTo EPR 没 有 设 置 时 ,JBoss SOA 平平 台台 可 以 为 每 种 传 输 使 用 相 应 的 缺 省 值 。 其 中 一 些 ReplyTo 缺 省 值 需 要 系 统 管 理 员 正 确 的 配 置 JBoss SOA。

对 于 JMS 来 说 ,我 们 使 用 和 用 于 递 送 原 始 请 求 名 称 相 同 的 队 列 ,但 它 以 '_reply' 为 前 缀 。 对 于 JDBC,我 们 使 用 和 用 于 递 送 原 始 请 求 相 同 的 数 据 库 的 表 名 ,但 以 '_reply_table' 为 前 缀 。 而 且 ,请 记 住 新 的 表 和 请 求 表 使 用 相 同 的 字 段 。 对 于 本 地 和 远 程 文 件 则 不 需 要 管 理 性 的 修 改 。 回 复 被 写 入 和 请 求 相 同 的 目 录 ,它 带 有 一 个 唯 一 的 后 缀 以 确 保 原 始 发 送 者 可 以 正 确 获 取 回 复 。

第 4 章 缺 省 的 "ReplyTo" 端 点 引 用

25

Page 29: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 5 章章 ServiceBinding 管管 理理 者者 如 果 你 想 在 同 一 机 器 上 运 行 多 个 JBoss SOA 平平 台台 服 务 器 ,你 可 能 希 望 使 用 ServiceBinding Manager 管 理 者 。 这 个 绑 定 管 理 者 允 许 你 集 中 所 有 运 行 实 例 的 端 口 配 置 。 JBoss SOA 服 务 器 带 有 一 个 简 单 的 绑 定 配 置 文 件 docs/examples/binding-manager/sample-bindings.xml。

注意注意

JBoss 应 用 服 务 器 的 文 档 包 含 配 置 ServiceBinding Manager 的 详 细 说 明 。

注意注意

如 果 jboss-messaging 被 用 作 JMS 提 供 者 ,请 确 保 其 ServiceBinding Manager 配 置 匹 配 remoting-service.xml 文 件 里 的 内 容 。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

26

Page 30: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 6 章章 监监 控控 和和 管管 理理 JBoss 企 业 级 SOA 平 台 提 供 了 几 种 方 法 来 监 控 和 管 理 服 务 器 。 请 阅 读 本 章 来 进 行 学 习 。

6.1. JMX MBeans在 jboss.esb 域 里 ,你 会 看 到 下 列 类 型 的 M-Bean:

deployment=<ESB package name>Deployments M-Bean 显 示 所 有 已 部 署 的 ESB 包 状 态 并 给 出 XML 配 置 和 当 前 状 态 的 信 息 。

listener-name=<Listener name>M-Bean 显 示 所 有 部 署 的 listeners 的 信 息 ,包 括 XML 配 置 、 启 动 时 间 、 maxThreads 和 状 态 。 管 理 员 可 以 初 始 化 、 启 动 、 停 止 和 销 毁 listener。

category=MessageCounter消 息 计 数 器 显 示 为 listener 部 署 的 所 有 服 务 、 每 个 服 务 的 独 立 动 作 和 处 理 的 消 息 总 数 、 以 及 每 条 消 息 的 处 理 时 间 。

service-name=<Service name>这 个 M-Bean 显 示 每 个 服 务 的 统 计 信 息 ,包 括 消 息 计 数 、 状 态 、 消 息 的 平 均 大 小 和 处 理 时 间 。 消 息 计 数 可 以 被 重 置 ,服 务 可 以 被 停 止 和 启 动 。

注意注意

除 了 上 面 列 出 的 M-Bean 以 外 ,JMS 域 显 示 消 息 队 列 的 统 计 信 息 ,这 对 于 调 试 和 分 析 性 能 是 很 有 用 的 。

6.2. 监监 控控 和和 管管 理理 控控 制制 台台 JBoss 企 业 级 SOA 平 台 包 含 一 个 监监 控控 和和 管管 理理 控控 制制 台台 。 它 从 企 业 级 服 务 总 线 注 册 表 里 的 每 个 节 点 请 求 和 显 示 M-Bean 信 息 。 要 访 问 控 制 台 ,在 浏 览 器 里 输 入 :http://localhost:8080/jbossesb。

监监 控控 和和 管管 理理 控控 制制 台台 收 集 已 部 署 的 不 同 ESB 服 务 的 性 能 方 面 的 信 息 并 在 一 段 时 期 内 保 留 历 史 状 态 信 息 。

监监 控控 和和 管管 理理 控控 制制 台台 允 许 系 统 管 理 员 根 据 服 务 、 动 作 、 节 点 、 处 理 时 间 、 失 败 消 息 、 传 输 字 节 、 最 后 成 功 或 失 败 消 息 的 时 间 等 来 获 取 消 息 计 数 。

第 6 章 监 控 和 管 理

27

Page 31: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

图图 6.1. JBoss 企企 业业 级级 服服 务务 总总 线线 监监 控控 和和 管管 理理 控控 制制 台台

监监 控控 和和 管管 理理 控控 制制 台台 缺 省 安 装 在 All 和 Production 服 务 器 配 置 里 。 如 果 需 要 它 也 可 以 轻 易 安 装 在 其 他 配 置 集 里 。

6.2.1. 安安 装装 企企 业业 级级 服服 务务 总总 线线 控控 制制 台台 在 ${SOA_ROOT}/tools/console/management-esb/ 目 录 里 运 行 ant deploy 来 安 装 ESB 控控 制制 台台 。 这 个 脚 本 将 检 查 jbossesb.sar 的 存 在 以 自 动 决 定 是 否 部 署 到 production 还 是 default 配 置 集 里 。 production 配 置 具 有 优 先 权 。 如 果 两 个 配 置 都 没 找 到 ,则 会 显 示 一 个 错 误 信 息 。

要 部 署 不 同 的 服 务 器 配 置 ,你 必 须 首 先 编 辑 build.xml。

过过程程 6.1. 手手 动动 安安 装装 控控 制制 台台

1. 要 覆 盖 缺 省 的 服 务 器 配 置 集 ,编 辑 ${SOA_ROOT}/tools/console/management-esb/build.xml 并 添 如 下 一 行 :

<property name="org.jboss.esb.server.config" value="my_config"/>

上 面 的 value 是 你 要 部 署 的 服 务 器 配 置 的 名 称 ,在 这 个 例 子 里 是 my_config。 将 这 一 行 和 其 他 属 性 设 置 添 加 到 文 件 的 开 头 。

2. 如 果 控 制 台 的 后 台 数 据 库 没 有 使 用 Hypersonic,你 会 需 要 编 辑 ${SOA_ROOT}/tools/console/management-esb/db.properties 文 件 来 定 义 正 确 的 数 据 库 设 置 。 (详 情 请 参 考 第 6.2.2 节 “使 用 其 他 数 据 库 ” )

3. 进 入 ${SOA_ROOT}/tools/console/management-esb 并 运 行 ant deploy。

例例 6.1. 在在 Linux/Unix 上上 部部 署署 企企 业业 级级 服服 务务 总总 线线 控控 制制 台台 。。

$ cd tools/console/management-esb $ ant deploy

6.2.2. 使使 用用 其其 他他 数数 据据 库库 Hypersonic 数数 据据 库库 是 管管 理理 和和 监监 控控 控控 制制 台台 的 缺 省 后 台 数 据 库 。 然 而 ,红 帽 不 推 荐 也 不 对 在 产 品 环 境 里 使 用 Hypersonic 提 供 支 持 。 如 要 上 线 运 行 ,请 务 必 修 改 为 其 他 配 置 。 本 节 将 描 述 如 何 完 成 这 一 点 。

${SOA_ROOT}/tools/console/management-esb/db.properties 文 件 定 义 了 控 制 台 的 数 据 库 设 置

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

28

Page 32: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

。 在 缺 省 情 况 下 ,这 个 文 件 包 含 了 这 样 一 行 :db=hsqldb。 这 一 行 设 置 Hypersonic 为 要 使 用 的 数 据 库 。 要 修 改 数 据 库 ,只 要 编 辑 这 一 行 就 可 以 了 。 你 可 以 使 用 下 面 的 设 置 :

hsqldb - Hypersonicmysql - MySQLoracle9i - Oracle 9ioracle10g - Oracle 10g

编 辑 了 这 个 文 件 后 ,按 照 第 6.2.1 节 “安 装 企 业 级 服 务 总 线 控 制 台 ” 里 的 说 明 部 署 控 制 台 。

然 后 ,添 加 JDBC 驱 动 JAR 文 件 到 服 务 器 的 ${SOA_ROOT}/server/${CONFIG}/lib 目 录 里 。 (这 个 目 录 里 有 JBoss 默 认 附 带 的 hsqldb.jar )

对 于 MySQL 用 户 ,在 部 署 前 创 建 数 据 库 统 计 信 息 可 能 是 必 要 的 。 请 查 看 management-esb/src/main/resources/${DB}/ 目 录 里 用 于 数 据 库 的 management-ds.xml。

6.2.3. 采采 集集 时时 间间 间间 隔隔 默 认 的 数 据 采 集 的 时 间 间 隔 (称 为 轮 询 间 隔 )是 10 分 钟 。 这 是 在 构 建 时 指 定 的 。 这 个 属 性 是 pollMinuteFrequency,它 可 在 management-esb/db.properties 文 件 里 指 定 。

当 前 的 轮 询 间 隔 可 以 在 运 行 时 修 改 。 为 此 ,请 使 用 监监 控控 和和 管管 理理 控控 制制 台台 或 jmx-console 来 编 辑 jboss.esb:service=DataFilerScheduler M-Bean 里 的 pollMinuteFrequency 属 性 。

注意注意

控 制 台 页 面 顶 部 的 Collect Statistics 按 钮 可 以 让 用 户 强 制 立 即 采 集 统 计 数 据 。

6.2.4. 服服 务务 下 面 是 每 个 ESB 服 务 所 显 示 的 信 息 :

the processing time per action

processed count per action

failed count per action

overall message count per service

点 击 这 些 统 计 数 据 都 会 显 示 一 个 历 史 图 表 页 面 。

默 认 会 显 示 最 后 的 10 条 记 录 。 要 显 示 更 多 信 息 ,请 修 改 Display Records 文 本 框 里 的 值 或 图 表 周 期 。 可 用 的 图 表 周 期 是 :

最 后 5 分 钟 小 时 天 周 月 所 有 记 录

第 6 章 监 控 和 管 理

29

Page 33: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

图图 6.2. 监监 控控 和和 管管 理理 控控 制制 台台 统统 计计 图图 表表 功功 能能

6.2.5. 消消 息息 计计 数数 器器 监监 控控 和和 管管 理理 控控 制制 台台 也 提 供 一 个 计 数 器 来 为 所 有 通 过 ESB 的 消 息 计 数 。 MessageCounter 记 录 成 功 和 失 败 的 消 息 计 数 、 以 及 时 间 和 日 期 。

图图 6.3. 监监 控控 和和 管管 理理 控控 制制 台台 消消 息息 计计 数数 器器

6.2.6. Smooks Transformations有 一 个 M-Bean 跟 踪 “ 已 处 理 ” 的 Smooks Transformations 的 计 数 和 处 理 的 时 间 。 它 也 跟 踪 TransformationChain 的 总 计 数 。

图图 6.4 . 监监 控控 和和 管管 理理 控控 制制 台台 的的 Transformations 功功 能能

6.2.7. Dead Letter 服服 务务 如 《 程 序 员 指 南 》 里 提 到 的 ,DeadLetterService(DLQ) 可 以 用 来 存 储 不 能 递 送 的 消 息 。 这 是 一 个 可 以 被 监 控

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

30

Page 34: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

和 检 查 的 JBossESB 服 务 。 然 而 ,请 注 意 ,如 果 底 层 的 传 输 具 有 原 生 支 持 (如 JMS),DeadLetterService 则 不 会 被 使 用 。 此 时 你 应 该 检 查 JBossESB DLQ 以 及 任 何 传 输 专 有 的 设 置 。

6.3. 消消 息息 警警 告告 JBoss Web 控控 制制 台台 是 JBoss AS 和 JBoss ESB 服 务 器 里 的 工 具 ,它 可 以 监 控 和 发 送 基 于 JMX M-Bean属 性 的 警 告 。 你 可 以 使 用 这 个 功 能 来 接 收 ESB 相 关 事 件 的 警 告 - 如 Dead Letter Service Counter计 数 器 达 到 某 个 极 限 值 。

下 面 是 配 置 所 需 的 步 骤 :

1. 在 ./deploy/mail-service.xml 里 添 加 SMTP 设 置 。 2. 修 改 ./deploy/monitoring-service.xml 取 消 EmailAlertListener 部 分 的 注 释 并 添 加 合 适 的 头 部 信 息 。

3. 创 建 一 个 ./deploy 文 件 来 作 为 监监 控控 MBean。

<?xml version="1.0" encoding="UTF-8"?><server> <mbean code="org.jboss.monitor.ThresholdMonitor" name="jboss.monitor:service=ESBDLQMonitor"> <attribute name="MonitorName"> ESB DeadLetterQueue Monitor </attribute> <attribute name="ObservedObject"> jboss.esb:category=MessageCounter,deployment=jbossesb.esb,service-name=DeadLetterService </attribute>

<attribute name="ObservedAttribute"> overall service message count </attribute> <attribute name="Threshold">4</attribute> <attribute name="CompareTo">-1</attribute> <attribute name="Period">1000</attribute> <attribute name="Enabled">true</attribute> <depends-list optional-attribute-name="AlertListeners"> <depends-list-element> jboss.alerts:service=ConsoleAlertListener </depends-list-element> <depends-list-element> jboss.alerts:service=EmailAlertListener </depends-list-element> </depends-list> <depends>jboss.esb:deployment=jbossesb.esb</depends> </mbean></server>

这 个 MBean 将 作 为 一 个 监 控 程 序 ,一 旦 DeadLetterService 计 数 到 5,它 将 发 送 电 子 邮 件 到 monitoring-service.xml 里 指 定 的 地 址 。 请 注 意 ,这 个 警 告 只 被 发 送 一 次 - 在 到 达 计 数 极 限 时 。 如 果 你 想 再 次 得 到 警 告 ,你 可 以 重 置 监 控 服 务 MBean(这 个 例 子 里 是 jboss.monitor:service=ESBDLQMonitor)上 的 alerted 标 记 。

第 6 章 监 控 和 管 理

31

Page 35: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

注意注意

关 于 使 用 JBoss Web 控 制 台 进 行 监 控 的 更 多 细 节 ,请 参 考 http://www.jboss.org/community/docs/DOC-12659。

6.4. JON for SOAJBoss Operations Network (JON) 是 系 统 管 理 员 用 来 监 控 和 管 理 JBoss SOA 平 台 服 务 器 的 一 个 工 具 。

这 个 软 件 允 许 你 处 理 库 存 、 管 理 、 监 控 、 部 署 和 更 新 任 务 。 它 通 过 带 有 可 定 制 Web-portal 界 面 的 集 中 管 理 的 模 型 来 执 行 这 些 工 作 。

注意注意

如 要 了 解 JBoss Operations Network 项 目 的 更 多 信 息 ,请 访 问 其 官 方 网 站 http://www.jboss.com/products/jbosson。

JON for SOA 是 JBoss Operations Network 软 件 的 一 个 独 立 版 本 ,它 包 括 特 别 为 JBoss SOA 平 台 设 计 的 功 能 。 本 章 提 供 这 些 功 能 的 概 述 并 假 设 读 者 已 经 具 备 JBoss Operations Network 产 品 的 基 本 知 识 。

重要重要

和 其 他 的 内 嵌 JBoss SOA 平 台 控 制 台 相 反 ,访 问 JON 控 制 台 并 不 局 限 于 本 地 服 务 器 。 这 赋 予 了 用 户 更 大 的 灵 活 性 ,但 也 意 味 着 无 法 依 赖 这 种 内 在 的 限 制 来 确 保 安 全 性 。

6.4.1. 把把 JBoss SOA 平平 台台 服服 务务 器器 添添 加加 到到 JON 库库 存存 里里 。。 你 的 JBoss SOA 平 台 服 务 器 将 出 现 在 JON 里 ,其 资 源 类 型 为 JBossAS Server,描 述 为 "JBossEnterprise SOA Platform"。

重要重要

当 你 在 JON 里 第 一 次 访 问 SOA 平 台 服 务 器 时 ,你 会 看 到 一 个 错 误 信 息 ,这 是 因 为 你 还 没 有 为 合 法 的 SOA 平 台 用 户 提 供 验 证 信 息 。 修 改 ${SOA_ROOT}/server/${CONFIG}/conf/props/soa-users.properties 文 件 里 的 设 置 可 以 配 置 SOA 用 户 信 息 。 你 把 这 些 信 息 输 入 Connection 属 性 的 Principal 和 Credentials(用 户 名 & 密 码 )里 。 选 择 服 务 器 INVENTORY 标 签 页 可 以 访 问 这 些 信 息 。 错 误 信 息 也 包 含 到 连 接 属 性 页 面 的 快 捷 链 接 。

6.4.2. JBoss SOA ESB 统统 计计 信信 息息 正 确 配 置 了 服 务 器 使 用 JBoss Operations Network 工 具 后 ,你 应 该 可 以 在 Resources 菜 单 上 面 找 到 JBoss ESB Statistics。

点 击 JBoss ESB Statistics 链 接 以 显 示 ESB 实 例 的 概 述 。 要 查 看 所 有 已 部 署 的 ESB 软 件 包 ,点 击 JBoss ESB Deployment 链 接 。

之 后 ,你 可 以 进 入 每 个 ESB 软 件 包 来 查 看 且 组 件 到 详 细 统 计 信 息 。 采 集 和 显 示 的 度 量 信 息 取 决 于 你 查 看 的

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

32

Page 36: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

组 件 。

JBoss ESB 统统 计计 信信 息息 消 息 计 数 (失 败 ) 最 近 失 败 消 息 的 日 期 最 近 成 功 消 息 的 日 期 已 处 理 的 字 节 消 息 计 数 (成 功 ) 消 息 计 数 (总 共 )

ESB 部部 署署 部 署 类 型

服服 务务 失 败 的 字 节 总 数 已 处 理 的 字 节 总 数 字 节 总 数 消 息 计 数 消 息 计 数 (平 均 值 ) 每 分 钟 消 息 计 数 (平 均 值 )

Listener 配配 置置 开 始 日 期 线 程 的 最 大 数 目 MEP 服 务 类 别 服 务 描 述 服 务 名 称

动动 作作 成 功 处 理 的 消 息 (平 均 值 ) 消 息 计 数 (平 均 值 )失 败 的 消 息 失 败 的 消 息 (平 均 值 )处 理 时 间 已 处 理 的 字 节 总 数 消 息 计 数 成 功 处 理 的 消 息 字 节 总 数 失 败 的 字 节 总 数 每 分 钟 消 息 计 数 (平 均 值 ) 每 分 钟 失 败 的 消 息 (平 均 值 )每 分 钟 成 功 处 理 的 消 息 (平 均 值 )

注意注意

上 面 所 有 的 度 量 信 息 都 是 不 需 加 以 说 明 的 ,除 了 两 个 例 外 :

1. MEP 是 一 个 字 符 串 ,它 指 明 使 用 的 消 息 交 换 协 议 (Message Exchange Protocol),其 中 一 个 例 子 是 "OneWay"。

2. Deployment Type 是 一 个 字 符 串 ,它 指 明 部 署 的 ESB 的 类 ,其 中 一 个 例 子 是 "JBoss4ESBDeployment"。

第 6 章 监 控 和 管 理

33

Page 37: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

重要重要

不 管 数 据 采 集 的 间 隔 是 多 少 ,ESB 控 制 台 用 户 界 面 里 显 示 的 消 息 计 数 值 随 着 时 间 的 推 移 会 向 上 增 长 。 例 如 ,如 果 在 12:00 用 户 启 动 JON 服 务 器 和 代 理 、 部 署 ESB 归 档 ,并 在 13:00 之 前 通 过 部 署 在 ESB 归 档 里 的 服 务 发 送 1000 条 消 息 ,之 后 在 14:00 到 15:00 又 指 定 一 个 数 据 “ 度 量 采 集 时 间 表 ” (期 间 没 有 处 理 任 何 消 息 ),此 时 消 息 计 数 将 仍 然 是 1000。 用 户 可 以 使 消 息 计 数 器 显 示 零 值 的 唯 一 办 法 是 将 其 重 置 。

所 有 标 准 的 JBoss Operations Network 功 能 如 警 告 和 图 表 都 可 以 根 据 这 些 统 计 对 每 个 ESB 部 署 、 服 务 或 动 作 进 行 配 置 。

图图 6.5. 显显 示示 的的 度度 量量 信信 息息

图图 6.6. 服服 务务 度度 量量 缺缺 省省 是是 禁禁 用用 的的

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

34

Page 38: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

图图 6.7. 行行 为为 度度 量量 缺缺 省省 是是 禁禁 用用 的的

重要重要

红 色 显 示 的 任 何 值 都 是 禁 用 的 。

6.4.3. 管管 理理 部部 署署 的的 ESB 归归 档档 文文 件件 JON for SOA 软 件 也 允 许 你 部 署 或 删 除 ESB 归 档 。 要 访 问 其 功 能 ,进 入 JBoss ESB Statistics 屏 幕 并 点 击 INVENTORY 标 签 页 。 然 后 它 会 在 Child Resources 标 签 页 里 出 现 。

新 的 ESB 归 档 可 以 通 过 选 择 Create New 菜 单 里 的 JBoss ESB Deployment 来 进 行 部 署 。 在 CreateNew Resource 页 面 里 ,你 可 以 指 定 要 部 署 的 归 档 、 部 署 的 位 置 (通 常 是 deploy 目 录 )。 只 有 压 缩 文 件 才 可 以 上 传 ,Deploy Zipped 选 项 指 明 是 以 压 缩 文 件 还 是 展 开 目 录 的 形 式 部 署 。

现 有 的 归 档 可 以 在 Child Resources 列 表 里 点 击 DELETE 来 删 除 。

注意注意

这 个 部 分 也 显 示 ESB 部 署 和 删 除 请 求 的 历 史 记 录 。

6.4.4. 自自 动动 服服 务务 发发 现现 ((Automatic Service Discovery))JBoss Operations Network Agent 代 理 将 自 动 检 测 到 已 经 部 署 或 删 除 的 ESB 归 档 。 新 部 署 的 ESB 归 档 将 自 动 被 添 加 至 服 务 器 库 存 ,但 被 删 除 的 归 档 不 会 从 库 存 里 删 除 。

缺 省 的 代 理 配 置 每 隔 24 小 时 执 行 一 次 ” 服 务 发 现 “ 。 你 有 两 个 方 法 可 以 修 改 这 个 时 间 间 隔 。

1. 这 个 时 间 间 隔 也 可 以 在 代 理 配 置 文 件 conf/agent-configuration.xml 里 修 改 。 要 使 修 改 生 效 ,你 需 要 重 启 代 理 。

<entry key="rhq.agent.plugins.service-discovery.period-secs" value="86400"/>

图图 6.8. conf/agent-configuration.xml 里里 的的 服服 务务 发发 现现 周周 期期 的的 设设 置置 ::

第 6 章 监 控 和 管 理

35

Page 39: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. 通 过 JON 控控 制制 台台 来 编 辑 配 置 。 JON 代 理 可 以 被 添 加 至 服 务 器 资 源 的 库 存 。 之 后 ,它 们 的 配 置 可 以 象 其 他 库 存 资 源 一 样 进 行 编 辑 。 你 可 以 编 辑 CONFIGURE 标 签 页 里 的 Service Discovery Period 的 值 。 这 并 不 需 要 重 启 代 理 来 使 之 生 效 。

和 内 嵌 的 SOA 平 台 不 同 ,你 没 有 办 法 可 以 强 制 JBoss Operations Network Console 控 制 台 立 即 执 行 新 数 据 的 采 集 。 Metric Data 标 签 页 里 的 Get Current Values 按 钮 只 能 更 新 显 示 以 反 映 最 近 采 集 的 数 据 。 要 进 行 立 即 更 新 ,你 可 以 把 采 集 周 期 设 置 得 非 常 短 如 30 秒 (之 后 再 马 上 设 置 回 原 值 )。

重要重要

出 于 性 能 考 虑 ,红 帽 不 推 荐 把 采 集 周 期 设 置 得 非 常 短 。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

36

Page 40: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 7 章章 热热 部部 署署

7.1. 服服 务务 器器 模模 式式 JBoss SOA 平 台 支 持 热 部 署 。 服 务 器 定 期 地 检 查 deploy 目 录 里 的 新 文 件 以 进 行 部 署 。 然 而 ,它 也 检 查 已 经 部 署 的 文 件 是 否 发 生 了 特 定 的 修 改 。 当 这 些 修 改 被 检 测 到 时 ,服 务 器 卸 载 相 关 的 文 件 并 部 署 新 的 文 件 。 这 被 称 为 热 部 署 。

根 据 包 类 型 的 不 同 ,被 监 控 的 特 定 修 改 也 不 同 。

1. SAR 文 件 jbossesb.sar是 可 热 部 署 的 。 在 下 列 情 况 下 它 将 被 重 新 部 署 :归 档 的 时 间 戳 改 变 了 (如 果 SAR 是 压 缩 文 件 )。 如 果 这 个 SAR 是 以 展 开 目 录 的 形 式 出 现 ,而 META-INF/jboss-service.xml 的 时 间 戳 发 生 了 变 化 。

2. ESB 文 件 在 下 列 情 况 下 ,任 何 *.esb 归 档 文 件 都 将 被 重 新 部 署 :如 果 这 个 ESB 是 一 个 压 缩 归 档 文 件 ,而 时 间 戳 发 生 了 变 化 。 如 果 ESB 是 以 展 开 目 录 的 形 式 出 现 ,而 META-INF/jboss-esb.xml 的 时 间 戳 发 生 了 变 化 。

所 有 的 动 作 (Action)都 具 有 生 命 周 期 的 支 持 。 在 进 行 热 部 署 时 ,它 将 完 成 活 动 的 请 求 且 不 接 受 任 何 转 入 消 息 ,直 至 重 新 启 动 。 所 有 这 些 都 是 自 动 完 成 的 。 如 果 你 想 更 新 一 个 动 作 ,你 可 以 用 Groovy 脚 本 在 运 行 时 进 行 修 改 (请 参 考 http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBQuickStart 上 的 Groovy 快 速 启 动 指 南 )。

3. 规 则 (Rule)文 件 刷 新 规 则 文 件 有 两 个 方 法 (DRL 或 DSL 文 件 ):重 部 署 jbrules.esb 归 档 文 件 打 开 Action 配 置 (请 参 考 http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBContentBasedRouting 里 的 JBossESBContentBasedRouting)里 的 ruleReload。

如 果 rule 文 件 发 生 了 变 化 ,它 将 被 重 新 加 载 。 4. transformation 文 件 刷 新 transformation 文 件 有 两 种 方 式 :在 transformation 文 件 存 在 的 目 录 里 重 新 部 署 ESB 归 档 文 件 。 用 ESB 控控 制制 台台 通 过 JMS(topic)发 送 通 知 消 息 。 Smooks 处 理 程 序 将 接 收 这 个 事 件 并 重 新 加 载 。

5. 商 业 过 程 定 义 JBoss 商商 业业 过过 程程 管管 理理 ((JBoss Business Process Management,, jBPM)工)工 具具 的 商 业 过 程 定 义 (Business Process Definition)的 新 版 本 可 以 用 jBPM Eclipse 插 件 部 署 到 jBPM 数 据 库 里 。 新 的 过 程 实 例 将 使 用 新 版 本 。 现 有 的 过 程 实 例 会 遵 循 以 前 的 定 义 完 成 其 生 命 周 期 。 更 多 的 细 节 请 参 考 《 jBPM用 户 指 南 》 。

7.2. 独独 立立 (引(引 导导 )模)模 式式 当 使 用 Boot-Strapper 模 式 时 ,ESB 归 档 不 会 被 部 署 。 每 个 节 点 只 能 有 一 个 jboss-esb.xml 配 置 文 件 。 节 点 监 控 这 个 文 件 的 时 间 戳 并 在 有 改 动 时 重 读 其 内 容 。 为 了 更 新 规 则 ,请 使 用 ruleReload 功 能 。

最 后 ,为 了 更 新 商 业 过 程 定 义 ,请 使 用 和 上 面 总 结 的 相 同 的 过 程 。

第 7 章 热 部 署

37

Page 41: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

38

Page 42: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 8 章章 发发 布布 合合 约约 信信 息息 ((Contract Publishing))和 某 些 JBoss SOA 端 点 集 成 需 要 关 于 该 端 点 以 及 它 支 持 的 操 作 的 信 息 。 特 别 是 对 于 通 过 SOAPProcessoraction 开 放 Webservice 端 点 而 言 更 是 如 此 (《 程 序 员 指 南 》 里 有 相 关 介 绍 )。

8.1. Contract 应应 用用 程程 序序 因 此 我 们 提 供 了 Contract 程程 序序 。 你 可 以 通 过 http://127.0.0.1:8080/contract/ 访 问 它 。

重要重要

这 个 程 序 只 是 作 为 技 术 预 览 出 现 ,在 以 后 的 版 本 里 它 将 被 替 换 。

注意注意

Contract 程程 序序 也 捆 绑 在 JBoss SOA 控 制 台 里 。 如 果 部 署 了 控 制 台 ,请 首 先 从 SOA 平 台 服 务 器 的 deploy 目 录 里 删 除 contract.war 文 件 。

图图 8.1. JBoss ESB "Contract" 应应 用用 程程 序序

如 你 所 看 到 的 ,它 按 照 端 点 相 关 联 的 服服 务务 进 行 分 组 。 这 称 为 servicing。

如 你 所 看 到 的 ,它 按 照 关 联 的 服 务 将 端 点 分 组 。 你 也 将 看 到 其 中 一 些 具 有 "Contract" 超 链 接 。 它 们 是 用 于 通 过 SOAPProcessor 开 放 的 Webservice 端 点 的 。 这 些 超 链 接 指 向 WSDL。

8.2. 用用 Action 发发 布布 合合 约约

第 8 章 发 布 合 约 信 息 (Contract Publishing)

39

Page 43: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

JBoss 企企 业业 级级 SOA 平平 台台 根 据 服 务 所 配 置 的 action pipeline 发 现 端 点 合 约 。 它 寻 找 管 道 里 的 发 布 合 约 信 息 的 第 一 个 action。 如 果 没 有 action 发 布 合 约 信 息 ,Contract 程程 序序 将 对 于 该 端 点 的 合 约 显 示

Unavailable on Contract

.

为 了 发 布 合 约 信 息 ,Action 通 过 org.jboss.internal.soa.esb.publish.Publish 注 解 来 发 布 合 约 信 息 (以 SOAPProcessor 为 例 ):

@Publish(JBossWSWebserviceContractPublisher.class)public class SOAPProcessor extends AbstractActionPipelineProcessor { //TODO: implement }

注意注意

在 这 里 你 可 找 到 一 些 SOAPProcessor 示 例 :http://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPProcessor.java

然 后 你 需 要 实 现 org.jboss.soa.esb.actions.soap.ContractPublisher(它 只 要 求 实 现 一 个 方 法 ):

public ContractInfo getContractInfo(EPR epr);

注意注意

这 里 是 一 个 描 述 JBossWSWebserviceContractPublisher 的 例 子 :http://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/JBossWSWebserviceContractPublisher.java。

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

40

Page 44: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 9 章章 JBoss 商商 业业 过过 程程 管管 理理 者者

9.1. jBPM 控控 制制 台台 jBPM Web 控 制 台 缺 省 作 为 jbpm.esb 的 一 部 分 进 行 部 署 ,你 可 以 通 过 http://localhost:8080/jbpm-console/ 访 问 它 。 更 多 信 息 请 参 考 《 jBPM 用 户 指 南 》 。

9.2. jBPM 的的 Message 和和 Scheduler 服服 务务 商 业 过 程 管 理 者 的 缺 省 配 置 使 用 自 己 的 JobExecutor 和 message 和 scheduler 服 务 的 数 据 库 服 务 。

<service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory" /><service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" /><bean name="jbpm.job.executor" class="org.jbpm.job.executor.JobExecutor"> ...</bean>

JBoss 企 业 级 SOA 平 台 也 允 许 你 使 用 ITS message 和 scheduler 服 务 来 代 替 jBPM 提 供 的 原 始 服 务 。 这 些 服 务 包 含 :

使 用 JCA in-flow 的 基 于 JMS 的 消 息 服 务 基 于 JBoss Messaging 的 Scheduling 服 务

要 使 用 基 于 JMS 的 Message 服 务 和 基 于 JBoss Messaging 的 Scheduler 服 务 ,只 要 简 单 地 用 ${SOA_ROOT}/server/production/deploy/jbpm.esb/config/jmsscheduler/ 里 的 文 件 替 换 ${SOA_ROOT}/server/production/deploy/jbpm.esb/ 里 的 缺 省 jBPM 配 置 文 件 就 可 以 了 。

例例 9.1. 用用 Linux 上上 的的 BASH 终终 端端 替替 代代 jBPM 配配 置置 。。

$ cd ${SOA_ROOT}/server/production/deploy/jbpm.esb/$ cp -fb config/jmsscheduler/jbpm.cfg.xml.config jbpm.cfg.xml$ cp -fb config/jmsscheduler/jbpm-service.xml.config jbpm-service.xml$ cp -fb config/jmsscheduler/jbm-queue-service.xml.config jbm-queue-service.xml

重要重要

请 注 意 ,替 代 配 置 文 件 的 名 称 以 .config 结 尾 ,因 此 需 要 重 新 命 名 。

第 9 章 JBoss 商 业 过 程 管 理 者

41

Page 45: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第第 10 章章 性性 能能 调调 优优

10.1. 概概 述述 请 阅 读 本 章 来 学 习 如 何 为 特 定 环 境 优 化 JBoss 企企 业业 级级 服服 务务 总总 线线 ((ESB))的 性 能 。 在 进 行 任 何 工 作 之 前 ,请 明 白 对 于 任 何 系 统 来 说 ,性 能 和 可 靠 性 之 间 都 得 进 行 折 中 。 (default 配 置 的 目 的 是 最 大 的 可 靠 性 和 稳 定 性 ,而 在 某 些 环 境 里 对 性 能 则 有 负 面 影 响 。 )

10.2. InVM 传传 输输 InVM 传 输 (In Virtual Machine)通 过 相 同 虚 拟 机 内 部 的 ServiceInvoker 调 用 服 务 。 它 对 资 源 有 着 最 小 的 影 响 ,因 为 它 没 有 导 致 任 何 网 络 或 消 息 序 列 化 方 面 的 负 荷 。

重要重要

由 于 InVM 队 列 的 易 变 性 ,你 可 能 无 法 达 成 所 有 的 ACID 模 式 ,特 别 是 当 这 个 功 能 和 其 他 事 务 性 资 源 (如 数 据 库 )一 起 使 用 时 。

关 于 这 个 主 题 的 其 他 信 息 ,请 参 考 《 程 序 员 指 南 》 的 "InVM Transport" 章 节 。

这 段 代 码 演 示 了 如 何 用 InVM 传 输 功 能 配 置 服 务 :

<service category="HelloWorld" name="Service1" description="Service 1" invmScope="GLOBAL"> <listeners> <!-- So we just need to define a Gateway to the service... --> <jms-listener name="JMS-Gateway" busidref="quickstartGwChannel" is-gateway="true"/> </listeners> <actions> <action name="println" class="org.jboss.soa.esb.actions.SystemPrintln"> <property name="message" value=" - > Service 1"/> </action> <!-- Route to the "Service 2" --> <action name="routeAction" class="org.jboss.soa.esb.actions.StaticRouter"> <property name="destinations"> <route-to service-category="HelloWorld" service-name="Service2"/> </property> </action> </actions> </service>

10.3. Transport 线线 程程 几 乎 每 个 传 输 都 能 够 配 置 处 理 请 求 的 线 程 数 目 。 增 加 线 程 的 数 目 可 以 显 著 地 提 高 性 能 。

下 面 是 InVM transport 的 maxThreads 属 性 的 设 置 :

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

42

Page 46: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

<service category="ServiceCategory" name="ServiceName" description="..." invmScope="GLOBAL"> <property name="maxThreads" value="100" /> ...</service>

下 面 是 JMS Listener 的 maxThreads 属 性 的 设 置 :

<jms-listener name="GW" busidref="gwBus" maxThreads="100" is-gateway="true"/>

10.4. 消消 息息 过过 滤滤 器器 ((Message Filter))消 息 过 滤 器 用 于 动 态 地 增 加 消 息 。 例 如 ,当 消 息 流 过 ESB 时 它 们 可 用 于 添 加 事 务 或 安 全 信 息 。 使 用 这 些 过 滤 器 可 能 影 响 到 系 统 性 能 。 (这 取 决 于 ESB 里 配 置 的 特 定 消 息 过 滤 器 )关 于 这 个 主 题 的 更 多 信 息 ,请 参 考 《 程 序 员 指 南 》 的 "Meta-Data and Filters" 章 节 。

注意注意

关 于 整 个 主 题 的 更 多 信 息 ,请 参 考 《 程 序 员 指 南 》 的 "InVM Transport" 章 节 。

10.5. 引引 用用 传传 递递 ((Passing By Reference))在 使 用 InVM Transport 时 ,你 可 以 通 过 值 或 引 用 传 入 消 息 。 引 用 传 递 更 快 。 然 后 ,它 并 不 适 用 于 所 有 场 合 。 在 实 施 前 请 考 虑 所 处 的 环 境 。

<service category="ServiceCategory" name="ServiceName" description="..." invmScope="GLOBAL"> <property name="inVMPassByValue" value="false" /> ...</service>

10.6. HTTP 路路 由由 器器 HTTP 路 由 器 可 以 保 持 多 个 连 接 。 在 jboss-esb.xml 文 件 里 设 置 下 列 配 置 选 项 (可 在 HttpRouter 行 为 里 找 到 ):

<http-client-property name="max-total-connections" value="100" /><http-client-property name="max-connections-per-host" value="50" />

注意注意

类 似 的 配 置 适 用 于 其 他 在 内 部 使 用 HTTP 路 由 器 的 行 为 ,如 SOAPProxy。

10.7. HTTP 连连 接接 器器 HTTP 服 务 器 基 于 Apache Tomcat 且 在 server/*/deploy/jbossweb.sar/server.xml 子 目 录 里 有 一 个 类 似 的 配 置 。 红 帽 推 荐 对 连 接 器 配 置 更 多 的 线 程 :

第 10 章 性 能 调 优

43

Page 47: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"connectionTimeout="20000" redirectPort="8443" maxThreads="200" />

注意注意

关 于 配 置 连 接 器 的 更 多 信 息 ,请 参 考 Apache Tomcat 文 档 。

10.8. 日日 志志

10.8.1. HTTP 连连 接接 器器 请 注 意 log4j 的 INFO 日 志 记 录 对 于 性 能 有 影 响 。 本 节 介 绍 了 如 何 减 少 日 志 以 避 免 降 低 性 能 的 途 径 。

org.milyn.util.ClassUtil 的 日 志 产 生 如 下 结 果 :

${date/time} INFO [ClassUtil] Loaded ${number} classes from ${number} URLs through class list file ${file name}. Process took ${number}ms. Turn on debug logging for more info.

在 ${jboss-as-home}/server/${configuration}/conf/jboss-log4j.xml 文 件 里 添 加 category limit 以 降 低 日 志 级 别 :

<category name="org.milyn.util.ClassUtil"> <priority value="WARN" /></category>

Logging from org.milyn.delivery.ContentDeliveryConfigBuilder produces the following:

${date/time} INFO [ContentDeliveryConfigBuilder] All configured XML Element Content Handler resource configurations can be applied using the SAX or DOM Stream Filter. Defaulting to DOM Filter. Set 'global-parameters:stream.filter.type'. Turn on debug logging for more info.

在 ${jboss-as-home}/server/${configuration}/conf/jboss-log4j.xml 文 件 里 添 加 category limit 以 降 低 日 志 级 别 :

<category name="org.milyn.delivery.ContentDeliveryConfigBuilder"> <priority value="WARN" /></category>

Logging from org.jboss.soa.esb.client.ServiceInvoker produces the following:

${date/time} INFO [ServiceInvoker] Badly formed EPR [EPR: PortReference wsa:Address ${address}] for Service [${service category}:${service name}] and Message [ ${date/time} INFO [ServiceInvoker] Invalid EPR for service (probably ESB-unaware): ignoring for message: header: [ ]

在 ${jboss-as-home}/server/${configuration}/conf/jboss-log4j.xml 文 件 里 添 加

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

44

Page 48: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

category limit 以 降 低 日 志 级 别 :

<category name="org.jboss.soa.esb.client.ServiceInvoker"> <priority value="WARN"/></category>

第 10 章 性 能 调 优

45

Page 49: 管 JBoss 企 平 台 4 · 2017. 7. 27. · . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

修修 订订 历历 史史 记记 录录 修修订订 4 .3.5-3.4 00 2013-10-31 Rüdiger Landmann

Rebuild with publican 4.0.0

修修订订 4 .3.5-3 2012-07-18 Anthony TownsRebuild for Publican 3.0

修修订订 15-0 Mon Mar 21 2011 David Le Sage针 对 4.3.CP05 进 行 更 新

修修订订 1.4 -0 Tue Apr 27 2010 David Le Sage针 对 SOA 4.3.CP04 进 行 更 新 SOA-1943 - JON 消 息 计 数 器 行 为 。 6.4 章 节

修修订订 1.3-0 Tue Apr 20 2010 David Le Sage针 对 SOA 4.3.CP03 进 行 更 新

修修订订 1.2-0 Wed Sep 1 2009 Darrin Mison针 对 SOA 4.3.CP02 进 行 更 新 SOA-1279 - 更 新 了 数 据 库 细 节 ,请 参 考 章 节 1.4 的 Schema ToolSOA-1310 - 添 加 了 性 能 调 优 章 节 。 第 10 章 SOA-1032 - 用 其 他 的 配 置 更 新 了 jBPM 章 节 。 9.1 章 节 SOA-1261 - 更 新 了 IBM WebSphere MQ JCA 适 配 器 细 节 。 章 节 1.3.4.2

修修订订 1.1-0 Tue Feb 24 2009 Darrin Mison针 对 SOA 4.3.CP01 进 行 更 新 添 加 了 群 集 的 ESB 服 务 配 置 更 新 了 数 据 库 模 式 工 具 说 明 更 新 了 OpenSSO 安 装 说 明 更 新 了 ESB 控 制 台 安 装 说 明

修修订订 1.0-0 Fri Sep 5 2008 Darrin Mison创 建

JBoss 企 业 级 SOA 平 台 4.3 管 理 指 南

46