基于RabbitMQ的消息推送

基于RabbitMQ的消息推送
H5定义了WebSocket,能实现浏览器和服务器之间全双工通信,服务器可以推送数据给客户端浏览器。
针对WebSocket通信,RabbitMQ需要提供Web STOMP插件,这样浏览器就可以使用RabbitMQ。
前端需要引入一个stomp.js文件,可到GitHub上下载该文件,https://github.com/jmesnil/stomp-websocket,js文件地址:https://github.com/jmesnil/stomp-websocket/blob/master/lib/stomp.js
1.启用Web STOMP插件
进入RabbitMQ安装目录,在sbin目录下执行以下命令:
rabbitmq-plugins enable rabbitmq_management rabbitmq_web_stomp rabbitmq_stomp rabbitmq_web_stomp_examples
2.发布消息

public class StompProducer {
    public static void main(String[] args) throws IOException, TimeoutException {
        // 创建连接工厂
        ConnectionFactory factory = new ConnectionFactory();
        factory.setUsername("guest");
        factory.setPassword("guest");
        // 设置RabbitMQ地址
        factory.setHost("localhost");
        factory.setVirtualHost("/");
        // 建立到代理服务器的连接
        Connection conn = factory.newConnection();
        // 创建信道
        Channel channel = conn.createChannel();
        String exchangeName = "exchange-stomp";
        // 声明Topic类型交换器
        channel.exchangeDeclare(exchangeName, "topic");
        String routingKey = "shopping.discount";
        String message = "微醺好时光,美酒3件7折,抢购猛戳";
        // 发布消息
        channel.basicPublish(exchangeName, routingKey, null, message.getBytes());
        channel.close();
        conn.close();
    }
}

3.Web页面接收消息



    
    rabbitMQ 消息提醒示例
    
    

    
    
    






你可能感兴趣的:(rabbitmq)