2016-06-20 15 views
0

IBM MQ Lightを使用しています。IBM MQ Liteでメッセージをプッシュする際にエラーが発生しました

IBM MQ Liteでjavaプログラムを使用してメッセージをプッシュしようとしていますが、My Connectionはうまく機能しています。プログラムを実行してLocalhostをチェックすると、クライアントが接続されていることがわかりますが、3-4秒後に切断され、コンソールに例外がスローされます。続き

は私のエラーログです:

Problem with subscribe request: amqp:unauthorized-access: AMQXR0042E: A subscribe request was not authorized for channel PlainText received from 127.0.0.1. AMQXR0004E: MQSeries verb=SPISubscribe(String) returned cc=2(int) MQCC_FAILED rc=2035(int) MQRC_NOT_AUTHORIZED 
+0

で動作 を試してみよう光? –

答えて

0

私はあなたがIBM MQ Liteで

package com.Queue; 
import com.ibm.mqlight.api.ClientOptions; 

import com.ibm.mqlight.api.Delivery; 
import com.ibm.mqlight.api.DestinationAdapter; 
import com.ibm.mqlight.api.NonBlockingClient; 
import com.ibm.mqlight.api.NonBlockingClientAdapter; 
import com.ibm.mqlight.api.StringDelivery; 


public class SendReceive2 
{ 
    public static void main(String[] cmdline) 
    { 
     ClientOptions clientOpts = ClientOptions.builder().setCredentials("ad", "jms123").build(); 



     NonBlockingClient.create("amqp://localhost", clientOpts, new NonBlockingClientAdapter<Void>() 
     { 

      public void onStarted(NonBlockingClient client, Void context) 
      { 
       client.subscribe("JmsQueue", new DestinationAdapter<Void>() 
       { 
        public void onMessage(NonBlockingClient client, Void context, Delivery delivery) 
        { 
         if (delivery.getType() == Delivery.Type.STRING) 
          System.out.println(((StringDelivery)delivery).getData()); 
        } 
       }, null, null); 
      } 
     }, null); 





     NonBlockingClient.create("amqp://localhost", clientOpts, new NonBlockingClientAdapter<Void>() 
     { 
      public void onStarted(NonBlockingClient client, Void context) 
      { 
       client.send("JmsQueue", "Jms Queue is Formed!", null); 
      } 

     }, null); 






    }//main 


}//class 

をメッセージをプッシュすることが可能なサンプルコードを持っているが、それはあなたが使用して、およびMQのバージョンされているプラ​​ットフォーム私の場合

0

2035のエラーコードは、あなたが許可されていないことを意味します。あなたのクライアントがなぜ失敗しているのかを判断するには、より多くの情報を得る必要があります。 MQS_REPORT_NOAUTHまたはMQSAUTHERRORSの設定を使用して、権限の失敗とどのようなアクセスが失敗したかについての詳細を取得できます。

関連する問題