【问题标题】:JMS MQ JMSAdmin .bindingJMS MQ JMSAdmin .binding
【发布时间】:2013-09-10 06:13:57
【问题描述】:

是否可以为队列连接工厂指定用户名和密码?示例here 没有描述它。

我要找的就在这里 http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/ucli_pqcfw.html

QCF的性质:

ASYNCEXCEPTION()
CCSID()
CHANNEL()
CLIENTRECONNECTOPTIONS()
CLIENTRECONNECTTIMEOUT()
COMPHDR()
COMPMSG()
CONNECTIONNAMELIST()
CONNOPT()
FAILIFQUIESCE()
HOSTNAME()
LOCALADDRESS()
MAPNAMESTYLE()
MSGBATCHSZ()
MSGRETENTION()
POLLINGINT()
PORT()
PROVIDERVERSION()
QMANAGER()
RESCANINT()
SENDCHECKCOUNT()
SHARECONVALLOWED()
SSLFIPSREQUIRED()
SSLRESETCOUNT()
SYNCPOINTALLGETS()
TARGCLIENTMATCHING()
TEMPMODEL()
TEMPQPREFIX()
TRANSPORT()
USECONNPOOLING()
VERSION()
WILDCARDFORMAT()

我试图避免调用 createQueueConnection("user", "password") 并且需要通过绑定以某种方式提供这些详细信息,以便我可以调用 createQueueConnection()

【问题讨论】:

    标签: binding jms ibm-mq mq


    【解决方案1】:

    您的任务可能是个问题。我不知道是否可以这样配置。

    有一些选项,例如创建一个处理用户/密码的包装器工厂,这样您就不必在整个代码中传递密码 - 至少。 Spring 也为此提供了一个 prebuilt

    除此之外 - 考虑改为迁移到 SSL 身份验证并通过 MCA 将用户设置在通道上 - 这可能更容易在 JNDI 中配置。

    【讨论】:

    • 可以设置为 jms.setStringProperty("XMSC_USERID", "mqm");但我不明白当我手动将此属性添加到绑定文件时,它不会被读取:qcf/RefAddr/75/Encoding=String qcf/RefAddr/75/Content=mqm qcf/RefAddr/75/Type=XMSC_USERID
    • 将密码存储在存储库中不是一个好习惯。任何有权访问您的 QCF 的人都可以访问队列管理器。值得期待 SSL 身份验证。
    • 这与实践无关。反正没有设置密码,如果你担心我只需要设置用户。
    • 如果没有设置密码 - 那么您可以在 MQ 通道上使用 MCAUSER。如果 JNDI 的东西不起作用。
    • 这是一个需要用户名的安全存在
    【解决方案2】:

    JMS API 要求在 ConnectionFactory.createConnection 调用中输入用户名和密码。不建议将它们存储在存储库中。

    【讨论】:

      猜你喜欢
      • 2012-08-27
      • 1970-01-01
      • 2015-06-19
      • 2013-01-09
      • 2020-09-29
      • 1970-01-01
      • 2010-10-28
      • 2011-06-15
      • 2018-04-06
      相关资源
      最近更新 更多