2011-11-29 2 views
1

Websphere MQ (7)에서 제공하는 자원 어댑터를 사용하여 JBoss AS 서버 (5.1)에서 WSMQ 대기열 (회사 네트워크 외부의 서버에서 실행) .JBoss의 프록시 서버로 Websphere MQConnectionFactory 구성

연결 팩토리를 설정하고 네트워크 외부의 시스템에 연결하는 데 필요한 프록시 서버를 사용하도록 구성하려고합니다. 프록시 서버에는 인증이 필요합니다.

(MQConnectionFactory) 속성 proxyHostNameproxyPort을 발견했지만 인증 (사용자 이름/비밀번호)을 추가 할 방법이 없습니다.

Java 속성 http.proxyHost 등은 차이가 없습니다. JMS는 http를 사용하지 않으므로 의미가 있습니다.

socksProxyHost, socksProxyPort, java.net.socks.usernamejava.net.socks.password 속성을 구성해도 아무런 영향이 없습니다.

여기에 분실했습니다. 인증을 요구하는 프록시 서버를 사용하여 JBoss AS에서 원격 WSMQ 큐에 어떻게 연결할 수 있습니까?

답변

5

당신은 당신이 QueueConnection와 인스턴스를 생성하는 두 가지 방법이 MQQueueConnectionFactory, 를 인스턴스화 할 때 org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter

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); 
+0

정답입니다. – SashikaXP

0

으로 MQConnectionFactory을 포장 할 필요가, 하나는 당신이를 지정할 수 않습니다 userId 및 암호.

String userId = "test"; 
String password = "password"; 
mqQueueConnectionFactory = new com.ibm.mq.jms.MQQueueConnectionFactory(); 
QueueConnection queueConnection = 
mqQueueConnectionFactory.createQueueConnection(userId,password); 
관련 문제