Java 在JBoss中使用代理服务器配置Websphere MQConnectionFactory
我想使用Websphere MQ 7提供的资源适配器,从JBoss AS server 5.1连接到运行在公司网络之外的服务器上的WSMQ队列 我设置了一个连接工厂,并希望将其配置为使用我们的代理服务器,这是连接到网络外的机器所必需的。我们的代理服务器需要身份验证 我找到了MQConnectionFactory属性proxyHostName和proxyPort,但无法添加身份验证用户名/密码Java 在JBoss中使用代理服务器配置Websphere MQConnectionFactory,java,authentication,jboss,proxy,ibm-mq,Java,Authentication,Jboss,Proxy,Ibm Mq,我想使用Websphere MQ 7提供的资源适配器,从JBoss AS server 5.1连接到运行在公司网络之外的服务器上的WSMQ队列 我设置了一个连接工厂,并希望将其配置为使用我们的代理服务器,这是连接到网络外的机器所必需的。我们的代理服务器需要身份验证 我找到了MQConnectionFactory属性proxyHostName和proxyPort,但无法添加身份验证用户名/密码 String userId = "test"; String password = "password"
String userId = "test";
String password = "password";
mqQueueConnectionFactory = new com.ibm.mq.jms.MQQueueConnectionFactory();
QueueConnection queueConnection =
mqQueueConnectionFactory.createQueueConnection(userId,password);
Java属性http.proxyHost等没有任何区别,这是有意义的,因为JMS不使用http
配置socksproxy主机、socksproxy端口、java.net.socks.username和java.net.socks.password属性也没有效果
我在这里不知所措,如何使用需要身份验证的代理服务器从JBoss AS连接到远程WSMQ队列?您需要用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);
您需要使用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);
实例化MQQueueConnectionFactory时, 创建QueueConnection实例有两种方法,一种方法允许您指定用户ID和密码
String userId = "test";
String password = "password";
mqQueueConnectionFactory = new com.ibm.mq.jms.MQQueueConnectionFactory();
QueueConnection queueConnection =
mqQueueConnectionFactory.createQueueConnection(userId,password);
实例化MQQueueConnectionFactory时, 创建QueueConnection实例有两种方法,一种方法允许您指定用户ID和密码
String userId = "test";
String password = "password";
mqQueueConnectionFactory = new com.ibm.mq.jms.MQQueueConnectionFactory();
QueueConnection queueConnection =
mqQueueConnectionFactory.createQueueConnection(userId,password);