Websphere Message Broker7中配置DB2 JDBCProvider

    JDBCProvider向Websphere Message Broker(WMB)中需要操作数据库的node提供数据库连接服务,JDBCProvider作为一个服务被注册到指定的broker中。

     这里需要涉及到的几条命令有:

  1. mqsideleteconfigurableservice, 用于删除一个可配置的服务对象。
    例如:mqsideleteconfigurableservice MB7BROKER -c JDBCProviders -o SIMPLERROUTEDB
    表示从MB7BROKER这个broker中删除type为JDBCProviders的服务(configurable service)中的名为SIMPLERROUTEDB可配置对象(configurable service object).
  2. mqsicreateconfigurableservice,用于创建一个可配置的服务对象(configurable service)
    例如:

    mqsicreateconfigurableservice MB7BROKER -c JDBCProviders -o SIMPLERROUTEDB 
    -n connectionUrlFormat,databaseName,description,jarsURL,portNumber,serverName,
    type4DatasourceClassName,type4DriverClassName 
    -v "jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];,
    SROUTEDB,Simplified Database Routing Sample Database,<JARS URL>,<PORT NUMBER>,
    <SERVER NAME>,com.ibm.db2.jcc.DB2DataSource,com.ibm.db2.jcc.DB2Driver"
    -n后列出需要设置的属性列表,-v后依次对前述属性进行设置。其中<JARS URL>为broker运行所需的jdbc4 driver所在的目录,对于windows的DB2这一项默认情况
    下为:C:\Program Files\IBM\SQLLIB\java,而<PORT NUMBER>为数据库运行的端口,windows下的DB2默认为50000.
    
  3. mqsistart,用于启动一个broker对象
    例如:mqsistart MB7BROKER 用于启动名为MB7BROKER的broker
  4. mqsistop,用于停止一个broker对象
    例如:mqsistop MB7BROKER 用于停止名为MB7BROKER的broker
  5. mqsireportproperties,用于产生一个可配置服务对象的简表
    例如:mqsireportproperties MB7BROKER -o SIMPLERROUTEDB -c JDBCProviders -r
    用于产生MB7BROKER下type为JDBCProviders的名为 SIMPLERROUTEDB对象的简表,-r表示会递归取子表
  6. mqsisetdbparms,用于产生一个user identity(user and password),可以其他resource引用
    例如:mqsisetdbparms MB7BROKER -n jdbc::mySecurityIdentity -u <user ID> -p <password>
    为MB7BROKER产生一个名为mySecurityIdentity的identity此处由于是用于JDBCProvider,规定需要用JDBC::打头。
  7. mqsichangeproperties, 用于修改可配置服务对象的properties
    例如:mqsichangeproperties MB7BROKER -c JDBCProviders -o SIMPLERROUTEDB -n securityIdentity -v mySecurityIdentity
    修改MB7BROKER中type为JDBCProviders的configurable service中SIMPLERROUTEDB的配置,要设置的属性为 securityIdentity需要关联的值是mySecurityIdentity
    (前面一步创建的identity)

    经过前面一些命令的介绍以及范例,基本上就已经有了一个配置JDBCProvider的轮廓了,下面以DB2为例(还可以支持Oracle,informix,SQLServer等)。具体支持哪些数据库
可以用mqsireportproperties broker_name -c JDBCProviders -a -o AllReportableEntityNames命令得到

  1. 首先肯定得有一个database了,这里假定已经创建好了名为SIMPLERROUTEDB的db了。
  2. 确保需要注册JDBCProvider的broker已经运行起来,若没有运行起来,用mqsistart启动之。
  3. 确保指定的broker中不存在要注册的configurable service。若已经有则删除之。
    mqsideleteconfigurableservice MB7BROKER -c JDBCProviders -o SIMPLERROUTEDB
  4. 创建需要注册的configurable service
    mqsicreateconfigurableservice MB7BROKER -c JDBCProviders -o SIMPLERROUTEDB 
    -n connectionUrlFormat,databaseName,description,jarsURL,portNumber,serverName,
    type4DatasourceClassName,type4DriverClassName 
    -v "jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];,
    SROUTEDB,Simplified Database Routing Sample Database,<JARS URL>,<PORT NUMBER>,
    <SERVER NAME>,com.ibm.db2.jcc.DB2DataSource,com.ibm.db2.jcc.DB2Driver"
    这一步看上去有点儿复杂,其实就是一一设置一些属性罢了。
    
  5. 下面可以用mqsireportproperties查看一下上一步创建的JDBCProvider 条目SIMPLERROUTEDB
    mqsireportproperties MB7BROKER -o SIMPLERROUTEDB -c JDBCProviders -r
  6. 注意观察步骤4并未设置数据库用户名跟密码,下面创建一个user identity作为设置连接数据库时需要的凭证
    mqsisetdbparms MB7BROKER -n jdbc::mySecurityIdentity -u <user ID> -p <password>
  7. 接着将上一步创建的凭证关联到SIMPLERROUTEDB中的securityIdentity属性中,
    mqsichangeproperties MB7BROKER -c JDBCProviders -o SIMPLERROUTEDB -n securityIdentity -v mySecurityIdentity

    这样就创建完一个名为SIMPLERROUTEDB 的JDBCProvider了。

    若需要更多有关各种命令介绍以及详解,以及更多有关wmb的资料可以参看:http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp

    作者原创,若要转载请注明出处:www.waynewan.com

Leave a Reply

Your email address will not be published. Required fields are marked *

You must enable javascript to see captcha here!