如果活动实现需要调用 Java 类中的方法,那么您可以在集成服务中使用 Java Integration 步骤。
要执行此任务,您必须进入 IBM® Process Designer 桌面编辑器中。
在创建 Integration Service 之前,首先添加包含所需类的 JAR 文件。 在添加 JAR 文件作为服务器文件后,您可以选择要用于服务器的类和方法。如果您需要的 JAR 文件包含在 IBM Business Process Manager Toolkit 中,那么可以添加对该 Toolkit 的依赖关系来访问这些文件。请参阅“在 Designer 视图中创建 Toolkit 依赖关系”获取指示信息。
所列出的 JAR 文件是添加为受管服务器文件的文件,如主题“管理外部文件”中所述。 缺省情况下,IBM BPM Java 包中的类在 integration.jar 文件中提供,此文件包含在“系统数据”Toolkit 中。 如果当前项目对其他 Toolkit(包括 JAR 文件)有依赖性,那么这些文件也是可用的。
例如,如果从 integration.jar 文件(IBM BPM Java 包)选择了 teamworks.Users 类,并在启用“转换 JavaBeans”复选框的情况下选择了 getUser 方法。那么结果将类似以下示例:
<userino type="com.lombardisoftware.core.UserInfo" description="UserInfo">
<calendarId type="com.lombardisoftware.client.persistence.common.ID" description="calendarId" />
<fullname type="java.lang.String" description="String">tw_author</fullname>
<qualifiedName type="java.lang.String" description="String">tw_author</qualifiedName>
<sendToAddress type="com.lombardisoftware.core.routing.Address" description="Address">
<name type="java.lang.String" description="String">tw_author</name>
<toGroup type="java.lang.Boolean" description="Boolean">false</toGroup>
<toUser type="java.lang.Boolean" description="Boolean">true</toUser>
</sendToAddress>
<userData type="java.util.HashMap" description="HashMap">
<entry key="Full Name" description="Map Entry">
<key type="java.lang.String" description="String">Full Name</key>
<value type="java.lang.String" description="String">tw_author</value>
</entry>
<userData>
<userId type="com.lombardisoftware.client.persistence.common.ID$NumericID" description="ID$NumericID">
<id type="java.math.BigDecimal" description="BigDecimal">2</id>
<type type="com.lombardisoftware.client.persistence.common.POType$User" description="POType$User">
<deleted type="java.lang.Boolean" description="Boolean">false</deleted>
<exportable type="java.lang.Boolean" description="Boolean">false</exportable>
<factoryName type="java.lang.String" description="String">com.lombardisoftware.client.persistence.UserFactory</factoryName>
<id type="java.lang.Integer" description="Integer">2048</id>
<libraryItem type="java.lang.Boolean" description="Boolean">false</libraryItem>
<name type="java.lang.String" description="String">User</name>
<tableName type="java.lang.String" description="String">LSW_USR_XREF</tableName>
</type>
</userId>
<username type="java.lang.String" description="String">tw_author</username>
</userinfo>
如果不启用转换 JavaBeans 复选框,Java 方法将只能返回表 1 中所示类型的对象。
| 对象类型 | ||
|---|---|---|
| java.lang.String | java.lang.Double | java.lang.ArrayList |
| java.lang.Long | java.lang.Float | java.lang.HashMap |
| java.lang.Integer | java.lang.Boolean | org.jdom.Document |
| java.lang.Short | java.lang.Character | org.jdom.Element |
| java.lang.Byte | java.lang.Calendar | com.lombardisoftware.core.XMLNodeList 和 com.lombardisoftware.core.TWObject |