RabbitMQのは春Boootアドホックモードを統合します

pom.xml:

< プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0" のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance" のxsi:schemaLocationの= "のhttp:/ /maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd」> 
  < modelVersion > 4.0.0 </ modelVersion > 
  < groupIdを> com.toov5 < / のgroupId > 
  < たartifactId > RabbitMQの</ たartifactId > 
  < バージョン> 0.0.1-SNAPSHOT </ バージョン>
    < 依存関係> 
        < 依存> 
            < groupIdを> com.rabbitmq </ groupIdを> 
            < たartifactId > AMQPクライアント</ たartifactId > 
            < バージョン> 3.6.5 </ バージョン> 
        </ 依存関係> 
    </ 依存関係> 
   
</ プロジェクト>

ツールの接続を作成します:

// 多重化の一つの実施形態は、バーチャルホストにする必要はありません
パブリック クラス{MQConnectionUtils
     //は、新しい接続の作成
    パブリック 静的接続newConnectionとを()スローIOExceptionが、TimeoutExceptionを{
          // 接続ファクトリを作成 
    するConnectionFactory工場= 新しい新しいのConnectionFactoryを();
     // リンクアドレス 
    factory.setHost( "192.168.91.6" );
     // ユーザ名 
    factory.setUsername( "ADMIN" );
     // ユーザーパスワード 
    factory.setPassword( "ADMIN" );
     // AMQPポート番号 
    factory.setPort(5672 );
     / /连接バーチャルホスト 
    factory.setVirtualHost( "/ admin_toov5" )。
    接続の接続 = factory.newConnection()。
        リターン接続。
    } 
}

プロデューサーのカテゴリ:

パブリック クラスプロデューサー{
     // キュー名
    プライベート 静的な 最終文字列UEUE_NAME =「TEST_QUEUEという」; 
    
    公共の 静的な 無効メイン(文字列[] argsが)スローIOExceptionが、TimeoutExceptionを{
         // 新しい接続の作成 
    接続接続を= ; MQConnectionUtils.newConnection()
        // チャンネル作成 
        チャンネルチャンネル= connection.createChannelを();
         //は、キューの作成 
        (UEUE_NAME、channel.queueDeclareをfalseにfalseにfalseにヌル);
        // メッセージ作成 
        文字列MSG = "toov5_messageを" ; 
        のSystem.out.println( "プロデューサー配信メッセージ" + MSG);
         // プロデューサは、メッセージ送信 
        channel.basicPublish( ""、UEUE_NAME、ヌル、Msg.getBytes()) ;
         // 通路と接続閉じ
         channel.closeを(); 
         Connection.close(); 
    } 
}

業績は、キューを見て:

 

 シミュレーションGetメッセージ:

 

 

実質的に類似して消費者のプロデューサー:

パブリック クラスコンシューマー{ 
  
        // キュー名
        プライベート 静的な 最終文字列queue_nameの=「TEST_QUEUEという」;    
         公共の 静的な 無効メイン(文字列[] argsが)スローIOExceptionが、TimeoutException { 
            System.out.printlnは(「消費者スタートを....... ... " );
             // 新しい接続の作成 
        接続の接続= MQConnectionUtils.newConnection();
            // チャンネル作成 
            チャンネルチャンネル= connection.createChannelを();
             // 消費者協会キュー 
            channel.queueDeclareを(QUEUE_NAMEを、falseにfalseにfalseにヌル;)
            
              DefaultConsumer defaultConsumerr = 新新DefaultConsumer(チャンネル){
                   // 取得聴いメッセージ
                    @Override
                     公共 ボイドhandleDelivery(文字列consumerTag、封筒封筒、BasicPropertiesプロパティ、
                             バイト []体)がスローにIOException { 
                        文字列MSGを = 新新文字列(ボディ、 "UTF-8" ); 
                        System.out.printlnは( "消費者がニュースのプロデューサーを取得:" + MSG)。
                    } 
              }; 
            // 真自動応答モードを設定する手デフォルトモード:自動応答モード   
              channel.basicConsume(queue_nameの、真の、defaultConsumerr);               
              
//             // 通路を閉じ、接続
 //              channel.close();
 //              Connection.close( ); 
        } 
}

結果後:

 

おすすめ

転載: www.cnblogs.com/toov5/p/11441982.html