调解组件对服务组件之间的消息流执行操作。调解组件的功能是由调解原语实现的,调解原语将实现标准的服务实现类型。
一个调解组件具有一个或多个流;例如,一个流用于请求,另一个流用于应答。
WebSphere ESB 支持所提供的一组调解原语,它们实现已部署到 WebSphere ESB 中的调解模块的标准调解功能。如果需要特殊的调解功能,则可以开发您自己的定制调解原语。
调解原语定义一个“输入”操作,它用来处理由服务消息对象表示的消息。调解原语还可以定义一些“输出”操作,用来将消息发送至另一个组件或模块。

在对请求(输入)和响应(输出)进行可能的调解的情况下,调解原语通常在单个操作级别起作用。在某些情况下,可以在一个操作的单个参数级别指定调解原语;例如,选择器可以在操作级别或参数级别运行。
可以使用 WebSphere Integration Developer 来以图形方式建立调解组件的模型和从调解原语来装配调解组件,还可以从调解组件装配调解模块。
WebSphere ESB 支持下面这一组调解原语:
- Custom Mediation
- 运行定制逻辑。Custom Mediation 原语可以调用您提供的外部服务组件体系结构(SCA)组件。
- 调用的操作必须是两相操作。
- 目标 SCA 组件必须与 Custom Mediation 原语存在于同一个调解模块中。
- Database Lookup
- 使用用户提供的数据库中的信息来修改消息。
- 必须设置 Database Lookup 调解原语要使用的数据库、数据源和任何服务器认证设置。
- 只能从一个表中读取 Database Lookup 调解原语。
- 指定的键列必须包含唯一值。
- 值列中的数据必须是 Java 原语或 Java 字符串(或者能够通过强制类型转换为 Java 原语或 Java 字符串)。
- Fail
- 在流中生成故障。
- Message Filter
- 根据消息内容的不同,沿着不同的路径传递消息。
- Message Logger
- 将消息记录在数据库中。消息是作为 XML 存储的,因此,支持 XML 的应用程序以后也可以处理数据。
- 数据库模式是由 IBM 定义的。
- WebSphere ESB 的缺省安装将创建一个 Cloudscape 数据库和数据源。缺省情况下,WebSphere Integration Developer 将配置 Message Logger 调解原语以使用此 Cloudscape 数据库。
- 如果想要使用管理控制台来创建您自己的数据库和数据源,则 WebSphere ESB 将提供用来描述表模式的数据定义语言(ddl)文件。Table.ddl 文件存储于以下位置:install_root/util/EsbLoggerMediation/database_type/Table.ddl。其中 database_ type 表示数据库的类型,例如,CLOUDSCAPE_V50。如果您创建自己的数据库并且想使用数据源的缺省 JNDI 名称,则必须除去缺省数据源。
- Stop
- 停止流中的特定路径,而不会产生异常。
- XSLT
- 变换消息。
- XSLT 调解原语可以更改消息头或消息体。
- 使用 XSLT(可扩展样式表变换)1.0 变换来变换消息。是对消息的 XML 序列化进行变换。