zoukankan      html  css  js  c++  java
  • java实现rabbitMQ消息收发方式

    定义:消息队列(MQ)是一种应用程序对应用程序的通信方法是AMQP协议。

    jar包依赖:

    <!-- 加入mq消息依赖包 -->
      <dependency>
             <groupId>com.rabbitmq</groupId>
             <artifactId>amqp-client</artifactId>
             <version>3.0.4</version>
      </dependency>

    发送消息:

    import java.io.IOException;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    
    public class Send {
        private final static String QUEUE_NAME = "qq";  
    
        public static void main(String[] args) throws IOException {  
            ConnectionFactory factory = new ConnectionFactory();  
            factory.setHost("hostname");
            factory.setUsername("username");
            factory.setPassword("password");
            factory.setPort(5672);
            Connection connection = factory.newConnection();  
            Channel channel = connection.createChannel();  
    
            channel.queueDeclare(QUEUE_NAME, false, false, false, null);  
            String message = "Hello World!";  
            channel.basicPublish("", QUEUE_NAME, null, message.getBytes());  
            System.out.println(" [x] Sent '" + message + "'");  
    
            channel.close();  
            connection.close();  
        }  
    }
    

      

    接收消息:

    import com.rabbitmq.client.ConnectionFactory;
    import com.rabbitmq.client.QueueingConsumer;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    
    public class Reqv {
        private final static String QUEUE_NAME = "qq";
    
        public static void main(String[] argv) throws Exception {
            ConnectionFactory factory = new ConnectionFactory();
    
            factory.setUsername("username");
            factory.setPassword("password");
            factory.setHost("hostname");
            factory.setVirtualHost("/"); 
            factory.setPort(5672);
            Connection connection = factory.newConnection();
            Channel channel = connection.createChannel();
            channel.queueDeclare(QUEUE_NAME, false, false, false, null);
           
            System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
            QueueingConsumer consumer = new QueueingConsumer(channel);
            channel.basicConsume(QUEUE_NAME, true, consumer);
            while(true){
                QueueingConsumer.Delivery delivery = consumer.nextDelivery();
                String message = new String(delivery.getBody());
                System.out.println(" [x] Received '" + message + "'");
            }
        }
    }
  • 相关阅读:
    如何成为强大的程序员?(转)
    PHP Directory 函数
    PHP 类相关函数
    myeclipse安装svn插件的多种方式
    PHPEXCEL类操作EXCEL
    PHP 自定义错误处理函数(转)
    JBoss JBPM 实践系列(一) 安装配置(Tomcat 6.0 + MySQL 5.1)
    Ext.data.Store的相关知识
    Lotus Notes 和 Crystal Report 的整合應用
    JBoss JBPM 实践系列(二) jbpm设计器的配置和使用
  • 原文地址:https://www.cnblogs.com/YuanWeiBlogger/p/11848582.html
Copyright © 2011-2022 走看看