JDBCProvider向Websphere Message Broker(WMB)中需要操作数据库的node提供数据库连接服务,JDBCProvider作为一个服务被注册到指定的broker中。
这里需要涉及到的几条命令有:
- mqsideleteconfigurableservice, 用于删除一个可配置的服务对象。
例如:mqsideleteconfigurableservice MB7BROKER -c JDBCProviders -o SIMPLERROUTEDB
表示从MB7BROKER这个broker中删除type为JDBCProviders的服务(configurable service)中的名为SIMPLERROUTEDB可配置对象(configurable service object). - 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.
- mqsistart,用于启动一个broker对象
例如:mqsistart MB7BROKER 用于启动名为MB7BROKER的broker - mqsistop,用于停止一个broker对象
例如:mqsistop MB7BROKER 用于停止名为MB7BROKER的broker - mqsireportproperties,用于产生一个可配置服务对象的简表
例如:mqsireportproperties MB7BROKER -o SIMPLERROUTEDB -c JDBCProviders -r
用于产生MB7BROKER下type为JDBCProviders的名为 SIMPLERROUTEDB对象的简表,-r表示会递归取子表 - mqsisetdbparms,用于产生一个user identity(user and password),可以其他resource引用
例如:mqsisetdbparms MB7BROKER -n jdbc::mySecurityIdentity -u <user ID> -p <password>
为MB7BROKER产生一个名为mySecurityIdentity的identity此处由于是用于JDBCProvider,规定需要用JDBC::打头。 - 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命令得到
- 首先肯定得有一个database了,这里假定已经创建好了名为SIMPLERROUTEDB的db了。
- 确保需要注册JDBCProvider的broker已经运行起来,若没有运行起来,用mqsistart启动之。
- 确保指定的broker中不存在要注册的configurable service。若已经有则删除之。
mqsideleteconfigurableservice MB7BROKER -c JDBCProviders -o SIMPLERROUTEDB - 创建需要注册的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" 这一步看上去有点儿复杂,其实就是一一设置一些属性罢了。
- 下面可以用mqsireportproperties查看一下上一步创建的JDBCProvider 条目SIMPLERROUTEDB
mqsireportproperties MB7BROKER -o SIMPLERROUTEDB -c JDBCProviders -r - 注意观察步骤4并未设置数据库用户名跟密码,下面创建一个user identity作为设置连接数据库时需要的凭证
mqsisetdbparms MB7BROKER -n jdbc::mySecurityIdentity -u <user ID> -p <password> - 接着将上一步创建的凭证关联到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