Sun Java System Message Queue 3.7 UR1 技术概述

持久性服务

代理在发生故障后进行恢复时,需要重新创建消息传送操作的状态。为此,它必须将状态信息保存到数据存储库。代理重新启动时,会使用所保存的数据来重新创建目的地和长期订阅、恢复持久性消息、回滚打开的事务以及为未传送的消息重新创建路由表。然后代理才能恢复消息传送

Message Queue 服务既支持基于文件的持久性模块,又支持符合 JDBC 的持久性模块(请参见图 3–2)。默认情况下它使用基于文件的持久性。

图 3–2 持久性支持

该图显示代理使用平面文件 (flat file) 存储或符合 JDBC 的数据存储来保持消息。

基于文件的持久性

基于文件的持久性是一种使用单个的文件来存储持久性数据的机制。如果您使用基于文件的持久性,则可以设置用来执行以下操作的代理属性:

通常,基于文件的持久性比基于 JDBC 的持久性速度快,但是某些用户更希望获得符合 JDBC 的存储所提供的冗余和管理控制。

基于 JDBC 的持久性

基于 JDBC 的持久性使用 Java 数据库连接 (Java Database Connectivity, JDBCTM) 接口将代理连接到符合 JDBC 的数据存储库。为了让代理通过 JDBC 驱动程序来访问数据存储库,必须执行以下操作:

《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 4  章 “配置代理”详细说明了完成这些任务及相关配置属性的完整步骤。