Sun Java System Message Queue 3.7 UR1 管理指南

基于 JDBC 的持久性

表 14–6 中列出了与基于 JDBC 的持久性相关的代理属性。给出的示例适用于 DataMirror Mobile Solutions, Inc. 提供的 PointBase® 数据库产品系列。

表 14–6 基于 JDBC 持久性的代理属性

属性 

示例 

描述 

imq.persist.jdbc.brokerid

PointBase 嵌入式版本不需要 

(可选)代理实例标识符

必须是字母数字字符串,不能超过 n - 12 个字符,其中 n 是数据库允许的最大表名长度。

此标识符将附加到数据库表名之后,当多个代理实例使用同一个数据库作为持久性数据存储库时,此标识符可以使数据库表名保持唯一。嵌入式数据库只存储一个代理实例的数据,因此通常不需要该标识符。 

imq.persist.jdbc.driver

com.pointbase.jdbc.jdbcUniversalDriver

用于连接到数据库的 JDBC 驱动程序的 Java 类名

imq.persist.jdbc.opendburl

jdbc:pointbase:embedded:dbName ;

    database.home=
    
       .../instances/
    instanceName/dbstore
    

用于打开现有数据库连接的 URL

imq.persist.jdbc.createdburl

jdbc:pointbase:embedded:dbName ;

    new,database.home=
    
       .../instances/
    instanceName/dbstore
    

(可选)用于创建新数据库的 URL

仅在使用 Message Queue 数据库管理器实用程序 (imqdbmgr) 创建数据库时才需要此属性。

imq.persist.jdbc.closedburl

PointBase 不需要 

(可选)用于关闭数据库连接的 URL

imq.persist.jdbc.user

 

(可选)用于打开数据库连接的用户名(如果需要)

出于安全原因,可以指定该值,而不使用命令行选项 imqbrokerd -dbuserimqdbmgr - u

imq.persist.jdbc.needpassword

 

(可选)数据库是否要求为代理访问输入密码?

如果为 true,则imqbrokerdimqdbmgr 命令将提示输入密码,除非您使用 -passfile 选项指定包含密码的密码文件。

imq.persist.jdbc.password [应仅在密码文件中使用]

 

(可选)用于打开数据库连接的密码

imq.persist.jdbc.table.IMQSV35

CREATE TABLE ${name}

    (STOREVERSION INTEGER NOT NULL,
    
     
    BROKERID VARCHAR(100))
    

用于创建版本表的 SQL 命令

imq.persist.jdbc.table.IMQCCREC35

CREATE TABLE ${name}

    (RECORDTIME BIGINT NOT NULL,
    
     
    RECORD BLOB(10k))
    

用于创建配置更改记录表的 SQL 命令

imq.persist.jdbc.table.IMQDEST35

CREATE TABLE ${name}

    (DID VARCHAR(100) NOT NULL,
    
     
    DEST BLOB(10k),
    
     primaryKey(DID))
    

用于创建目的地表的 SQL 命令

imq.persist.jdbc.table.IMQINT35

CREATE TABLE ${name}

    (CUID BIGINT NOT NULL,
    
     
    INTEREST BLOB(10k),
    
     primaryKey(CUID))
    

用于创建 Interest 表的 SQL 命令

imq.persist.jdbc.table.IMQMSG35

CREATE TABLE ${name}

    (MID VARCHAR(100) NOT NULL,
    
     
    DID VARCHAR(100),
    
     MSGSIZE BIGINT,
    
     
    MSG BLOB(1m),
    
     primaryKey(MID))
    

用于创建消息表的 SQL 命令

MSG 列的默认最大长度为 1 兆字节 (1m)。如果您希望消息超出此长度,请对长度进行相应设置。如果已经创建了这些表,则必须重新创建它们才能更改最大消息长度。

imq.persist.jdbc.table.IMQPROPS35

CREATE TABLE ${name}

    (PROPNAME VARCHAR(100) NOT NULL,
    
     
    PROPVALUE BLOB(10k),
    
     primaryKey(PROPNAME))
    

用于创建属性表的 SQL 命令

imq.persist.jdbc.table.IMQILIST35

CREATE TABLE ${name}

    (MID VARCHAR(100) NOT NULL,
    
     
    CUID BIGINT,
    
     DID VARCHAR(100),
    
     
    STATE INTEGER,
    
     primaryKey(MID, CUID))
    

用于创建 Interest 状态表的 SQL 命令

imq.persist.jdbc.table.IMQTXN35

CREATE TABLE ${name}

    (TUID BIGINT NOT NULL,
    
     
    STATE INTEGER,
    
     
    TSTATEOBJ BLOB(10K),
    
     primaryKey(TUID))
    

用于创建事务表的 SQL 命令

imq.persist.jdbc.table.IMQTACK35

CREATE TABLE ${name}

    (TUID BIGINT NOT NULL,
    
     
    TXNACK BLOB(10k))
    

用于创建事务确认表的 SQL 命令