JAVA 服务的 Xcp 2.2 共享库

Xcp 2.2 Shared Libraries for JAVA Services

共享 Java 服务库是 2.2 Xcp Documentum 的一项巧妙功能,但在这种特定情况下存在问题。

一些背景知识:我必须从 2.0 Xcp 项目迁移到 2.2 版本。我开始了一个新项目并逐渐添加了所有工件、自定义小部件和源代码,因为从 2.0 直接迁移到 2.2 是不可能的。

旧项目的 java 模块以 .javamodule 文件的形式在 Artifacts/Java 模块中找到。每个 .javamodule 文件都有一个 implementationJars 列表,其中指定了所需 jar 的每个内容路径。这是一件好事,因为我有几个 .javamodule 使用相同的库但版本不同,我可以控制将哪些库用于该特定 .javamodule

当我尝试在 Xcp 2.2 中做同样的事情时,所有的 jar 都保存在相同的位置(这就是 'Shared Java Services Libraries' 的原因)和自动创建的 .javaservice 文件( 2.2 .javamodule 等效项)我无法指定它应该使用哪个 jar 库。我可以 'unshare' 库吗,或者是否有 .javaservice 符号可用于为 .javaservice 指定特定的 jars 库?

就我个人而言,我没有参与使用 Designer 2.0 或 2.2 的项目,但从我在 Designer 和发行说明中看到的情况来看,2.1 -> 2.2 并没有改变。

当您创建新的 Java 服务时,您需要为其指定主 class。如果您有可用的 Java classes 到 select for class 到您的 Java 服务,那么您可以跳过添加新 jar。否则,您需要提供带有 class 的 jar,您将 select 作为 Java 服务的 class。

一旦您拥有 Java 服务,您就可以在流程中或任何它应该使用的地方自由使用它。

当您打开 *.javaservice 文件时,您会看到它有 primaryClassName,其中包含您为 Java 服务使用的 class 指定的值.

所以您的问题的答案是:您添加到 xCP 应用程序的每个 jar 都可以用于任何 Java 服务。我记得我在设计应用程序和广泛调整 Java 服务使用的 Java 代码时有很多错误,但我希望 EMC 工程师在新版本中修复它。如果您遇到问题,请 return 在 SO 上。 :)