在JBoss中使用代理服务器配置Websphere MQConnectionFactory

1 java authentication proxy jboss ibm-mq

我想使用Websphere MQ(7)提供的资源适配器从JBoss AS服务器(5.1)连接到WSMQ队列(在我公司网络外部的服务器上运行).

我设置了一个连接工厂,并希望将其配置为使用我们的代理服务器,这是连接到网络外部的机器所必需的.我们的代理服务器需要身份验证

我找到了(MQConnectionFactory)属性proxyHostName,proxyPort但没有办法添加身份验证(用户名/密码).

Java属性http.proxyHost等没有任何区别,这是有道理的,因为JMS不使用http.

配置socksProxyHost,socksProxyPort,java.net.socks.usernamejava.net.socks.password性能也没有任何影响.

我在这里不知所措,如何使用需要身份验证的代理服务器从JBoss AS连接到远程WSMQ队列?

opt*_*lic 7

您需要使用org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter包装MQConnectionFactory

    MQConnectionFactory connectionFactory = new MQConnectionFactory();
    connectionFactory.setTransportType(1);
    connectionFactory.setHostName("localhost");
    connectionFactory.setPort(1415);
    connectionFactory.setQueueManager("DEV.QMGR");

    UserCredentialsConnectionFactoryAdapter connectionFactoryAdapter=new UserCredentialsConnectionFactoryAdapter();
    connectionFactoryAdapter.setTargetConnectionFactory(connectionFactory);
    connectionFactoryAdapter.setUsername("myusername");
    connectionFactoryAdapter.setPassword("mypassword");

    JmsComponent jmsComponent = new JmsComponent();
    jmsComponent.setConnectionFactory(connectionFactoryAdapter);
Run Code Online (Sandbox Code Playgroud)