有没有办法将JMS设置为使用SSL/TLS连接到IBM MQ?

有没有办法将JMS设置为使用SSL/TLS连接到IBM MQ?,ssl,ibm-mq,tls1.2,Ssl,Ibm Mq,Tls1.2,我们有一个Java应用程序,它使用JMS与IBM MQ通信。他们现在的一部分要求是使用TLS。有办法做到这一点吗?他们希望添加的参数包括: sslCipherSuite 主机名 港口 渠道 是否有任何系统环境属性可以为此参数设置为JMS 当前代码使用 导入javax.jms.ConnectionFactory 我们使用一个配置文件来设置系统环境变量 environment.setProperty("java.naming.factory.initial", this.co

我们有一个Java应用程序,它使用JMS与IBM MQ通信。他们现在的一部分要求是使用TLS。有办法做到这一点吗?他们希望添加的参数包括:

  • sslCipherSuite
  • 主机名
  • 港口
  • 渠道
是否有任何系统环境属性可以为此参数设置为JMS

当前代码使用

导入javax.jms.ConnectionFactory

我们使用一个配置文件来设置系统环境变量

environment.setProperty("java.naming.factory.initial", this.config.get("JMS_JndiContextFactory"));
            this.setJndiExtraParameters(environment, this.config.get("JMS_JndiExtraParameters"));
            while (!this.state.atLeast(State.GOT_FACTORY) && iterator.hasNext()) {
                environment.setProperty("java.naming.provider.url", this.urlUsed = iterator.next());
                try {
                    JmsClient.LOGGER.debug("Looking up connection factory");
                    this.factory = (ConnectionFactory)new InitialContext(environment).lookup(this.config.get("JMS_FactoryName"));
                    this.state = State.GOT_FACTORY;
                }
我在想是否有办法只设置另一组系统属性,而不是使用 MQConnectionFactory

所以我们不需要修改代码中的某些内容


我发布了一个类似的问题,因为不够清晰,所以重新发布了它

您应该编辑已关闭的问题,而不是删除它并打开一个新问题。除非您已经将JNDI链接到CCDT,否则没有推荐的方法可以在不更改代码的情况下指定TLS详细信息。在这种情况下,更新CCDT以获得所需的TLS详细信息会很简单。@JoshMc下次我发布另一个问题时会注意这一点。谢谢你的确认