科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道IBM MQSeries使用指南

IBM MQSeries使用指南

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

随着计算机网络和分布式应用的不断发展,远程消息传递越来越成为应用系统中不可缺少的组成部分。商业消息中间件的出现保证了消息传输的可靠性,高效率和安全性,同时也减少了系统的开发周期。

来源:希赛网 2008年4月21日

关键字: 传输 IBM 中间件 消息中间件

  • 评论
  • 分享微博
  • 分享邮件

    三.配置 JNDI

    用 JMS 实现消息的发送和接收时,经常会用到 JNDI 。因为 JNDI 这种方式比较灵活,对于编程也比较简单。

    在安装了 MQSeries Client for Java 之后,在 \java\bin 目录下找到 JMSAdmin.config 文件。该文件主要用来说明 Context 的存储方式及存储地址,对应于文件中的两个参数 INITIAL_CONTEXT_FACTORY 和 PROVIDER_URL 。典型的 JMSAdmin.config 文件内容如下:

    #INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory

    INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory

    #INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory

    #

    #PROVIDER_URL=ldap://polaris/o=ibm,c=us

    PROVIDER_URL=file:/d:/temp

    #PROVIDER_URL=iiop://localhost/

    #

    SECURITY_AUTHENTICATION=none

    INITIAL_CONTEXT_FACTORY 表示 JMSAdmin Tool 使用的服务提供商。当前有三种受支持的值。 com.sun.jndi.ldap.LdapCtxFactory 用于 LDAP ,如果使用它就必须安装一个 LDAP 服务器。 com.sun.jndi.fscontext.RefFSContextFactory 用于文件系统上下文,它只需要使用者提供存放上下文的文件路径。 com.ibm.ejs.ns.jndi.CNInitialContextFactory 是专门为 websphere 提供的,它需要和 websphere 的 CosNaming 资源库一起使用。

    PROVIDER_URL 表示会话初始上下文的 URL ,由 JMSAdmin tool 实现的所有 JNDI 操作的根。它和 INITIAL_CONTEXT_FACTORY 一一对应。

    ldap://hostname/contextname 用于 LDAP

    file:[drive:]/pathname 用于文件系统上下文

    iiop://hostname[:port]/[?TargetContext=ctx] 用于访问 websphere CosNaming 名称空间

    最后还有一个参数 SECURITY_AUTHENTICATION ,用于说明 JNDI 是否把安全性凭证传递给了您使用的服务供应商。只有当使用了 LDAP 服务供应商时,才使用此参数。此参数有三个值, none (匿名认证)、 simple (简单认证)和 CRAM-MD5 认证机制。如果没有提供有效值,缺省值为 none 。

    确认配置文件之后,可以在 \java\bin 目录下启动 JMSAdmin 控制台。也可以在任何目录下用下面的命令来启动控制台:

    JMSAdmin –cfg MQ_JAVA_INSTALL_PATH\java\bin\JMSAdmin.config

    其中 MQ_JAVA_INSTALL_PATH 为 MQSeries Client for Java 安装的根目录。

    若启动失败,则好好检查一下您的环境变量是否设置正确。根据我个人的经验,除了把 com.ibm.mq.jar 和 com.ibm.mqjms.jar 加入到环境变量外,还要把 fscontext.jar 和 providerutil.jar 加入到环境变量。

    进入 JMSAdmin 控制台后,您可以自由定义 sub context 。对于子上下文的操作,主要有一下命令:

    display ctx

    define ctx(ctxname)

    change ctx(ctxname)

    change ctx(=up)

    change ctx(=init)

    delete ctx(ctxname)

    当然,在这里的主要任务并非是用来定义 sub context ,而是用来定义以下几个对象:

    MQQueueConnectionFactory

    MQTopicConnectionFactory

    MQQueue

    MQTopic

    (还有其它的一些对象,如 MQXAQueueConnectionFactory 等,不常用到,在此不作说明。)

    可以使用很多动词来操纵目录名称空间中的受管理对象。 ALTER 、 DEFINE 、 DISPLAY 、 DELETE 、 COPY 和 MOVE ,它们的用法都算比较简单,这里只列举一二以作说明。

    例一:定义一 QueueConnectionFactory ,连接主机 10.10.10.18 ,端口 1414

    DEFINE QCF(EXAMPLEQCF)+

    DESC(Example Queue Connection Factory)+

    TRAN(CLIENT)+

    HOST(10.10.10.18)+

    QMGR(QM_EXAMPLE)+

    CHAN(S_EXAMPLE)+

    PORT(1414)+

    CCSID(1381)

    例二:定义一 Queue ,其对应于 MQ 中的 Q_EXAMPLE

    DEFINE Q(EXAMPLEQL)+

    DESC(Local queue)+

    QMGR(QM_EXAMPLE)+

    QUEUE(Q_EXAMPLE)+

    CCSID(1381)

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章