@Grab(group='com.rabbitmq', module='amqp-client', version='2.6.1') import com.rabbitmq.client.* factory = new ConnectionFactory() factory.host = "localhost" connection = factory.newConnection() channel = connection.createChannel() // exchangeを作成 exchangeName = "my_fanout_exchange" channel.exchangeDeclare(exchangeName, "fanout") // queueを作成&bind queueName1 = "queue1" channel.queueDeclare(queueName1, true /*= durable */, false/*= exclusive*/, false /*= autoDelete*/, null /*= arguments */) channel.queueBind(queueName1, exchangeName, "") queueName2 = "queue2" channel.queueDeclare(queueName2, true /*= durable */, false/*= exclusive*/, false /*= autoDelete*/, null /*= arguments */) channel.queueBind(queueName2, exchangeName, "") // メッセージを送信 channel.basicPublish(exchangeName, "", MessageProperties.PERSISTENT_TEXT_PLAIN, "fanout exchange サンプルメッセージ".getBytes("UTF-8")) channel.close() connection.close()メッセージを受信するにはgroovyとrabbitmqでメッセージの送信・受信をおこなうの受信プログラムと同様にqueue1, queue2をコマンドライン引数に指定します。
動作環境
groovy 1.8.2, JDK6 Update26, rabbitmq 2.6.1
0 件のコメント:
コメントを投稿