在定制 Java 变换中处理复杂或重复元素

可以使用 Java™ MbElement 类通过 定制 Java 变换来映射不是简单类型的输入和输出。

使用 MbElement 类

要在映射中使用的 Java 代码中使用 MbElement 类,请完成以下任务:
  1. 将 MbElement 插件 (jplugin2.jar) 添加到 Java 项目的构建路径。

    该插件是一个JAR文件,随 IBM® App Connect Enterprise 工具包一同提供。 在服务器安装的 classes 目录中,也提供了 jplugin2.jar

    1. 在 Java 透视图中,右键单击 Java 项目,然后选择 属性
    2. 选择 Java 构建路径
    3. 选择选项卡。
    4. 单击添加变量
    5. 选择变量 JCN_HOME,然后单击扩展
    6. 选择 jplugin2.jar,然后单击确定
  2. 将 MbElement 类导入 Java 源。
    必须添加以下代码:
    import com.ibm.broker.plugin.MbElement;

使用 Java DOM API

您可以使用标准 Java DOM API 中的 Node 类来处理定制 Java 变换中的复杂元素或重复元素。

例如,以下代码显示了使用 Node 类的 Java 方法:

public static Node nodeMove(Node inEl) 

复用 Java 代码

如果 Java 代码可能由多个解决方案使用,请将其存储在共享库中。 您可以将 Java 代码存储在与 消息映射相同的共享库中。 或者,可以将 Java 代码单独存储在引用的共享库中。

在映射中定义需要使用 Java 代码的变换时,可以在静态库项目、共享库项目、应用程序项目或集成项目中定义映射。 可以在一个或多个 Java 项目中定义 Java 代码。 映射项目必须引用这些 Java 项目。
注: 当映射使用共享库中可用的 Java 代码时,必须在 Java 代码可用的共享库项目中创建映射。

映射单个非重复元素

将单个非重复元素输入映射到单个非重复元素输出时,可以使用具有以下特征符的 Java 方法:

public static MbElement mbElMove(MbElement inEl)

例如,以下代码显示了用于复制子树的 Java 方法:

public static MbElement mbElMove(MbElement inEl)
      {
		MbElement outEl = null;
		try {
			outEl = inEl.copy();
			outEl.copyElementTree(inEl);
		} catch (MbException e) {
			throw (new RuntimeException(e));
		}
		return outEl;
	}

映射单个重复元素

将单个重复元素输入映射到输出重复元素时,可以使用具有以下特征符的 Java 方法:

public static List<MbElement>; customCompleTypeMove(List<MbElement>; inEls)
例如:
public static List<MbElement> customCompleTypeMove(List<MbElement> inEls)
      {
		List<MbElement> outEls = new ArrayList<MbElement>();
		try {
			Iterator<MbElement> i = inEls.iterator();
			while (i.hasNext()) {
				MbElement inEl = i.next();
				MbElement outEl = inEl.copy();
				// Do some processing of outEl
				outEls.add(outEl);
			}
		} catch (MbException e) {
			throw (new RuntimeException(e));
		}
		return outEls;
	}