Hello World模式

本文介绍了如何使用Gradle搭建RabbitMQ开发环境,并通过示例代码详细解释了HelloWorld模式下消息的发送与接收过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

http://www.rabbitmq.com/getstarted.html

https://github.com/rabbitmq/rabbitmq-tutorials

环境搭建

这里使用gradle项目

apply plugin: 'eclipse'
apply plugin: 'maven'
apply plugin: 'java'
    
sourceCompatibility = 1.8
​
[compileJava,compileTestJava,javadoc]*.options*.encoding = 'UTF-8' 
​
repositories {
   
    maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    mavenCentral()
    jcenter()
}
dependencies {
​
    compile group: 'com.rabbitmq', name: 'amqp-client', version: '4.1.0'
    compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25'
}

 

Hello World模式(点对点)

 1 package com.rabbitmq.www.helloworld;
 2 
 3 
 4 
 5 import com.rabbitmq.client.Channel;
 6 import com.rabbitmq.client.Connection;
 7 import com.rabbitmq.client.ConnectionFactory;
 8 
 9 public class Send {
10     
11     
12     private final static String QUEUE_NAME = "hello";
13     
14     
15     private final static String HOST_ADDR = "172.18.112.102";
16     
17     
18     
19     public static void main(String[] args) throws Exception {
20         
21         ConnectionFactory factory = new ConnectionFactory();
22         factory.setHost(HOST_ADDR);
23         Connection connection = factory.newConnection();
24         Channel channel = connection.createChannel();
25         channel.queueDeclare(QUEUE_NAME, false, false, false, null);
26         String message = "Hello World!";
27         channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
28         System.out.println("发送消息 : " + message + "'");
29         channel.close();
30         connection.close();
31         
32     }
33         
34     
35 
36 }
package com.rabbitmq.www.helloworld;

import java.io.IOException;

import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Consumer;
import com.rabbitmq.client.DefaultConsumer;
import com.rabbitmq.client.Envelope;

public class Recv {

    private final static String QUEUE_NAME = "hello";
    
    private final static String HOST_ADDR = "172.18.112.102";
    
    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub

        
        
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost(HOST_ADDR);
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        System.out.println("等待消息");
        Consumer consumer = new DefaultConsumer(channel) {
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)
                throws IOException {
              String message = new String(body, "UTF-8");
              System.out.println("接受消息 : " + message);
            }
          };
          channel.basicConsume(QUEUE_NAME, true, consumer);

    }

}

 

转载于:https://www.cnblogs.com/woms/p/7040842.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值