对象存储库用于存储 Message Queue 受管理对象,这类对象封装特定于具体 Message Queue 提供者的实现和配置信息。对象存储库可以是轻量目录访问协议 (Lightweight Directory Acess Protocol, LDAP) 目录服务器,也可以是本地文件系统中的目录。
虽然可以在客户端应用程序的代码中直接实例化和配置受管理对象,但一般最好是由管理员来创建和配置这些对象并将其存储在对象存储库中,以便客户端应用程序可以使用 Java 命名和目录接口 (Java Naming and Directory Interface, JNDI) 来访问它们。这使得客户端代码本身可以与提供者无关。
虽然可以使用管理控制台来管理对象存储库, 但不能使用它来创建对象存储库;将作为对象存储库的 LDAP 服务器或文件系统目录必须已事先存在。之后,可以将此现有对象存储库添加到管理控制台中,同时创建对它的引用,以便可以在控制台中对它执行操作。
本章中使用的样例应用程序假定对象存储库位于 C 驱动器上一个名为 Temp 的目录中。如果 C 驱动器上尚不存在名为 Temp 的文件夹,请先创建该文件夹,然后再继续完成以下练习。(在 Windows 以外的平台上,可以使用 /tmp 目录,该目录应该已经存在。)
在“管理控制台”窗口的浏览窗格中单击“对象存储库”项,然后从“动作”菜单中选择“添加对象存储库”。
或者,也可以在“对象存储库”上单击鼠标右键,然后从弹出的上下文菜单中选择“添加对象存储库”。无论在哪种情况下,都会显示“添加对象存储库”对话框(图 2–11)。
在“对象存储库标签”字段中输入对象存储库的名称。
这样便提供了一个用于在管理控制台中标识该对象存储库的标签。
在本练习中,请键入名称 MyObjectStore。
输入要用于查找受管理对象的 JNDI 属性值:
从“名称”下拉菜单中选择要指定的属性名称。
在“值”字段中键入属性的值。
单击“添加”按钮添加指定的属性值。
该属性及其值将显示在属性概要窗格中。
重复步骤 a、b 和 c,根据需要设置任意多个属性。
在本练习中,请将 java.naming.factory.initial 属性设置为:
com.sun.jndi.fscontext.RefFSContextFactory |
将 java.naming.provider.url 属性设置为:
file:///C:/Temp |
(或者,在 Solaris 或 Linux 平台上设置为 file:///tmp)。对于文件系统对象存储库,只需设置以上属性;有关 LDAP 存储库所需的属性值的信息,请参见LDAP 服务器对象存储库。
单击“确定”添加对象存储库并关闭对话框。
新的对象存储库将显示在浏览窗格中的“对象存储库”下,如图 2–12 所示。对象存储库图标上的红色 X 表示该对象存储库当前未连接到管理控制台。
在浏览窗格中单击对象存储库时,将在结果窗格中列出其内容。由于您尚未将任何受管理对象添加到对象存储库,因此对于目的地和连接工厂,“计数”列中都显示 0。
添加对象存储库之后,可以使用“动作”菜单(或弹出的上下文菜单)上的“属性”命令来显示“对象存储库属性”对话框(类似于图 2–11 中显示的“添加对象存储库”对话框),以便查看和修改对象存储库的任意属性。
现在,您已经将对象存储库添加到管理控制台,必须连接到该对象存储库才能向其中添加受管理对象。