• Java程序RabbitMQ服务端和客户端


    先需要引入相关的依赖文件

    <!--引入先关依赖包文件-->
    <dependencies>
    <dependency>
    <groupId>com.rabbitmq</groupId>
    <artifactId>amqp-client</artifactId>
    <version>3.6.5</version>
    </dependency>
    </dependencies>

    上来就是干:
    编写链接工具类
    public class ConnectionUtil {
    
        private static ConnectionFactory factory;
    
        private static  Channel channel;
    
        public static final String QUEUE_NAME = "cloud_attacking_dream";
    
        /*
        * 单例模式机制获取连接通道
        * */
        public static Channel initConnetion() throws IOException, TimeoutException {
            if (null == factory && null == channel) {
                factory = new ConnectionFactory();
                factory.setHost("localhost");
                factory.setPort(5672);
                //本机调用,用户密码省略
                /*factory.setUsername();
                factory.setPassword();*/
                Connection connection = factory.newConnection();
                channel = connection.createChannel();
                channel.queueDeclare(QUEUE_NAME, false, false, false, null);
            }
            return channel;
        }
    
    }
    

      服务端代码:

    /**
     * @author licunzhi
     * @desc 服务端(生产者)
     * @date 2018-07-20
     */
    public class Server {
        public static void main(String[] args) throws IOException, TimeoutException, InterruptedException {
            Channel channel = ConnectionUtil.initConnetion();
            for (int i =0; i < 100; i++) {
                String message = UUID.randomUUID().toString();
                channel.basicPublish("", ConnectionUtil.QUEUE_NAME, null, message.getBytes("UTF-8"));
                //定時發送消息  展示結果更加明顯
                Thread.sleep(10000);
            }
        }
    

      客户端代码

    /**
     * @author licunzhi
     * @desc 客户端(消费者)
     * @date 2018-07-20
     */
    public class Client {
        public static void main(String[] args) throws IOException, TimeoutException {
            Channel channel = ConnectionUtil.initConnetion();
            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("Customer Received '" + message + "'");
                }
            };
            channel.basicConsume( ConnectionUtil.QUEUE_NAME, true, consumer);
        }
    }
    

      

    运行项目查看结果展示:

    如果这些看着还是不爽  还是不解的话 :没关系  我有代码给你玩:

    github: git@github.com:licunzhi/dream_on_sakura_rain.git

    最后欢迎大佬加群指点:589780530

  • 相关阅读:
    (官网)虚幻3--画布技术指南
    (官网)虚幻3--HUD技术指南
    (官网)虚幻3--相机技术指南
    (官网)虚幻3--角色技术指南
    (官网)虚幻3--Unreal Frontend
    (官网)虚幻3--自定义 UnrealScript 项目
    (官网)虚幻3--基础游戏快速入门
    (官网)虚幻3--游戏类型技术指南
    (官网)虚幻3--入门指南: 游戏性元素
    (原创)虚幻3--控制台命令参数--1
  • 原文地址:https://www.cnblogs.com/licunzhi/p/9341181.html
Copyright © 2020-2023  润新知