4.3 使用 Java 接口自定义文件处理

可以使用 Java 接口通过写入的 Java 类来自定义文件处理。 这些接口包括 InputSorter、InputSource、PreProcessor 和 PostProcessor。

要实现驱动程序的这些增强需要进行 Java 编程。 要实现此功能,请完成以下步骤:

4.3.1 创建一个新的 Java 类

驱动程序中包含 JavaDoc 和样本类,有助于您实现这一新功能。 可以在 platform \dirxml\drivers\delimitedtext\extensions 中找到这些文件。

4.3.2 创建一个 Java .jar 文件

实施类文件后,使用 jar 工具创建一个 Java .jar 文件(Java 存档)。 该 .jar 文件必须包含所创建的类。 将 .jar 文件置于 novell/nds/lib 目录中。 路径可能有所不同,这取决于您所用的平台,但应与 DelimitedTextShim.jarDelimitedTextUtil.jar 处于相同的位置。

4.3.3 将驱动程序配置为使用新类

在将新的 .jar 文件放到正确位置后,即可通过修改驱动程序的属性来将驱动程序配置为使用新类。

  1. 在 iManager 中,选择 Identity Manager >《Identity Manager 概述》

  2. 在所属驱动程序集中找到此驱动程序。

  3. 单击驱动程序图标,打开《Identity Manager 驱动程序概述》页。

  4. 再次单击驱动程序图标,打开《修改对象》页。

  5. 在下拉菜单中,选择《驱动程序配置》

  6. 滚动至《驱动程序参数》,然后单击《编辑 XML》

  7. 定位到文件的 <publisher-options> 部分。

    此文件定义在《驱动程序配置》页的《驱动程序参数》部分中显示哪些参数和值。

    对于所创建的用于发布者通道的每个类,在 <publisher-options> 部分中输入一个额外选项。 更新此文件后,接口中将会出现新选项。

  8. 对于在发布者通道中创建的每个新类,添加一个与接口类型对应的项。 可使用下表作为指南:

    接口

    新项

    InputSorter

    <input-sorter display-name="InputSorter Class">com.acme.MyNewClass</input-sorter>

    <input-sorter-params display-name="InputSorter init string">MY CONFIG PARAMS</input-sorter-params>

    InputSource

    <input-source display-name="InputSource Class">com.acme.MyNewClass</input-source>

    <input-source-params display-name="InputSource init string">MY CONFIG PARAMS</input-source-params>

    PreProcessor

    <pre-processor display-name="PreProcessor Class">com.acme.MyNewClass</pre-processor>

    <pre-processor-params display-name="PreProcessor init string">MY CONFIG PARAMS</pre-processor-params>

    1. 用已经定义的类名称和完整的包标识符替换 com.acme.MyNewClass

    2. 用希望传递到相应类的 init 方法的任何相关信息替换 MY CONFIG PARAMS

      然后,相应类的 init 方法将负责分析该字符串中包含的信息。 如果相应类不需要将配置字符串传递到 init 方法,则可以不包含整个元素,在这种情况下,会将空值传递到 init 方法。

  9. 如果创建了 PostProcessor 规则,请定位到文件的 <subscriber-options> 部分并添加下面几行内容:

    <post-processor display-name="PostProcessor Class">com.acme.MyNewClass</post-processor> <post-processor-params display-name="PostProcessor init string">MY CONFIG PARAMS</post-processor-params>
    
    1. 用已经定义的类名称和完整的包信息替换 com.acme.MyNewClass

    2. 用希望传递到相应类的 init 方法的任何相关信息替换 MY CONFIG PARAMS

      然后,相应类的 init 方法将负责分析该字符串中包含的信息。 如果相应类不需要将配置字符串传递到 init 方法,则可以不包含整个元素,在这种情况下,会将空值传递到 init 方法。

  10. 单击《确定》