这是我的设置:
客户端:在WebSphere Application Server上运行的MDB侦听器(版本8.5) 服务器:在不同计算机上运行的WebSphere MQ队列管理器(版本7.5)。
侦听器使用JMS队列连接工厂配置连接到队列管理器。主机名,端口,队列管理器名称等连接详细信息作为受管连接工厂对象存储在外部LDAP存储库中。 WebSphere使用其名称对受管对象进行JNDI检索,然后进行实际连接。
现在我需要使用SSL保护连接。此外,我必须使用自创建的keyStore和trustStore文件创建自定义SSLSocketFactory对象,并将其设置在连接工厂对象中。在独立的Java客户端中,它看起来像这样:
MQQueueConnectionFactory queueConnectionFactorySecure = (MQQueueConnectionFactory) initialDirContext.lookup(jndiQueueConnectionFactorySecure);
SSLSocketFactory sslSocketFactory = getCustomSocketFactory(keystoreFile, truststoreFile, keystorePassword, truststorePassword);
queueConnectionFactorySecure.setSSLSocketFactory(sslSocketFactory);
我必须为MDB监听器做类似的事情。我尝试过探索WebSphere Administration Console,但没有运气。当然,我可以选择“WebSphere MQ Provider”,直接提供主机名,端口等等,但这破坏了维护中央管理对象存储库的全部目的。
有人做过这样的事吗?有没有想过是否可以做到?通过我对这个主题的大量搜索,我找不到任何确凿的答案。