新的《Solaris WBEM Developer's Guide》中的附录 A“Solaris Schema”引用了 MOF 文件,这些文件是在以前的《Solaris WBEM SDK Developer's Guide》中介绍的 MOF 文件基础上更新得到的。新的《Solaris WBEM Developer's Guide》不应该引用新的 Solaris_DMGT1.0.mof 文件或 Solaris_VM2.0.mof 文件,因为此发行版不包含这两个文件。
新的《Solaris WBEM Developer's Guide》提到,这本新书的附录中引用的 MOF 文件是在以前的《Solaris WBEM SDK Developer's Guide》中介绍的 MOF 文件基础上更新得到的。但是,新的《WBEM Developer's Guide》和《新增功能》不应该引用新的 Solaris_DMGT1.0.mof 或 Solaris_VM2.0.mof 文件,因为此发行版不包含这两个文件。
在 Solaris CIM 架构中,以下类和特性使用 Deprecated 限定符进行标记。
Solaris_LogRecord 类
Solaris_LogService 类
Solaris_LogServiceSetting 类
Solaris_LogServiceSetting 类
Solaris_IPProtocolEndpoint 类中的 OptionsEnabled 特性
对于这些过时的类和特性,请使用合适的替代类和特性。请参见类说明限定符,以确定正确的替代类和特性。
“Writing a Client Program”介绍有关创建使用 RMI 协议和 javax.com.sun.client API 的 WBEM 客户程序的信息。如果希望连接到运行 Solaris 8 操作环境的服务器,客户机 CLASSPATH 中必须包含 /usr/sadm/lib/wbem/cimapi.jar 文件。cimapi.jar 文件包括与运行 Solaris 8 操作环境的服务器进行通信所需的 com.sun.wbem 类。
此文档介绍如何使用索引的部署目录。
部署应用程序的目录名称的编号机制部分已经作为索引机制实现。此机制使得开发者能够修改与部署的应用程序关联的 JAR 或类文件,这对于 Windows 平台来说非常重要,因为 Windows 会为已加载的文件加上文件锁。因此如果试图覆写某个已加载的文件,就会发生共享冲突错误。在会话启动过程中,该文件会装入到服务器实例或 IDE 中。如果发生共享冲突错误,有两个选择:
编译更新后的类文件(原来是 JAR 文件的一部分)并将其放在类路径中的开始位置,使得在加载其它旧类之前先加载该文件。然后让 Sun ONE Application Server 重新装入此应用程序(只要可以重新装入)。
更新 JAR 文件、创建新的 EAR 文件并重新部署应用程序。
由于 Solaris 平台上没有文件锁定限制,因此不需要在该平台上重新部署应用程序。
如果由于 IDE 设置、ANT 文件复制、编译或其它操作而需要更改 Windows 平台上已经部署的应用程序,请注意另一个变化:会创建一个带有递增索引编号的新目录,以解决文件锁定限制问题。例如,在 Solaris 平台上,J2EE 应用程序 helloworld 按照以下目录结构部署至 Sun ONE Application Server:
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1
然后对这个部署的应用程序的某个 servlet(例如 HelloServlet.java)进行更改。Sun ONE Studio IDE 将启动,此 servlet 的源代码文件被更改和编译,并且 javac 目标被设置为上述目录。在正确的位置编译源代码后,此应用程序就会得到一个可重新装入的文件。server.xml 中的重新装入标记将被设置为 true,如果服务器实例在运行,那么不用重新汇编应用程序和重新部署,更改就会生效。
对于 Windows 平台,由于文件锁定问题,无法更改和更新 JAR 或类文件。因此,需要使用以下两种方法之一来解决此 Windows 问题:
编译已更改的源代码文件,并在类路径中前置类文件或 JAR,以使源代码更改生效。
更改 helloworld 源代码,进行汇编,然后重新部署(不必取消原来的 helloworld 部署)。
第二种方法是首选方法,因为它将使用递增的索引编号,并将其附加到已部署应用程序的目录名中。第二次部署 helloworld 后,目录结构将具有以下形式:
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_2
helloworld 的第二次部署将部署在 helloworld_2 下。