要配置代理以使用基于 JDBC 的持久性,请在代理的实例配置文件中设置与 JDBC 相关的属性,并创建相应的数据库结构。 Message Queue 数据库管理器实用程序 ( imqdbmgr) 使用 JDBC 驱动程序和代理配置属性来创建和管理数据库。如果数据库表已经损坏或者您希望使用其他的数据库作为数据存储库,则还可以使用数据库管理器从数据库中删除损坏的表或删除数据库。 有关详细信息,请参见数据库管理器实用程序。
系统提供了 Oracle 和 PointBase 数据库产品的示例配置。这些文件的位置因平台而异,在附录 A, Message QueueTM 数据在特定平台上的位置 中相关表的“示例应用程序和配置”下列出了此位置。此外,在实例配置文件 config.properties 中以注释值的形式提供了 PointBase 嵌入式版本、PointBase 服务器版本和 Oracle 的示例。
在代理的配置文件中设置与 JDBC 相关的属性。
基于 JDBC 的持久性中讨论了这些相关属性,并在表 14–6 中列出了这些属性。需要特别指出的是,您必须将代理的 imq.persist.store 属性设置为 jdbc(请参见持久性属性)。
将 JDBC 驱动程序的 .jar 文件的副本或符号链接放入以下位置:
在 Solaris 上:
/usr/share/lib/imq/ext/ |
在 Linux 上:
/opt/sun/mq/share/lib/ |
在 Windows 上:
IMQ_VARHOME\\lib\\ext |
例如,如果您在 Solaris 系统上使用 PointBase,则以下命令将驱动程序的 .jar 文件复制到相应位置:
% cp j2eeSDKInstallDirectory/pointbase/lib/pointbase.jar /usr/share/lib/imq/ext |
以下命令则创建一个符号链接:
% ln -s j2eeSDKID/lib/pointbase/pointbase.jar /usr/share/lib/imq/ext |
创建 Message Queue 持久性所需的数据库结构。
使用 imqdbmgr create all 命令(对于嵌入式数据库)或 imqdbmgr create tbl 命令(对于外部数据库);请参见数据库管理器实用程序。
转到 imqdbmgr 所在的目录:
在 Solaris 上:
cd /usr/bin |
在 Linux 上:
cd /opt/sun/mq/bin |
在 Windows 上:
cd IMQ_HOME\\bin |
输入 imqdbmgr 命令:
imqdbmgr create all
如果使用嵌入式数据库,则最好在以下目录中创建它:
… /instances/ instanceName/dbstore/ databaseName
如果嵌入式数据库未设置用户名和密码保护,则可能设置了文件系统权限保护。要确保代理能够对数据库进行读写访问,则运行该代理的用户应该是使用 imqdbmgr 命令创建该嵌入式数据库的用户。