zoukankan      html  css  js  c++  java
  • ActiveMQ API编程方式

    生产者:

    public class Producer {
        //默认连接用户名
        public static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
        //默认连接密码
        public static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
        //默认连接地址
        public static final String BROKERURL = ActiveMQConnection.DEFAULT_BROKER_URL;
    
        public static void main(String[] args) {
            ConnectionFactory connectionFactory = null;     //连接工厂
            Connection connection = null;       //连接
            Session session = null;             //会话
            Destination destination = null;     //消息目的地
            MessageProducer messageProducer;    //消息生产者
    
            //实例化连接工厂
            connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKERURL);
            try {
                //通过连接工作获取连接
                connection = connectionFactory.createConnection();
                //启动连接
                connection.start();
                //创建会话,第一个参数表示是否使用事务,第二个参数表示消息的确认模式
                session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                //创建一个名为DemoActiveMQ消息队列
                destination = session.createTopic("DemoActiveMQ");
                //创建消息生产者
                messageProducer = session.createProducer(destination);
    
                //发送消息
                for (int i = 0; i < 3; i++) {
                    String msg = "发送第" + i + "条消息";
                    TextMessage textMessage = session.createTextMessage(msg);
                    messageProducer.send(textMessage);
                }
            } catch (JMSException e) {
                e.printStackTrace();
            } finally {
                if (connection != null) {
                    try {
                        connection.close();
                    } catch (JMSException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    
    

    消费者同步接收消息

    public class Consumer {
    
        //默认连接用户名
        public static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
        //默认连接密码
        public static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
        //默认连接地址
        public static final String BROKERURL = ActiveMQConnection.DEFAULT_BROKER_URL;
    
        public static void main(String[] args) {
            ConnectionFactory connectionFactory = null;     //连接工厂
            Connection connection = null;       //连接
            Session session = null;             //会话
            Destination destination = null;     //消息目的地
            MessageConsumer messageConsumer;    //消息消费者
    
            //实例化连接工厂
            connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKERURL);
            try {
                //通过连接工作获取连接
                connection = connectionFactory.createConnection();
                //启动连接
                connection.start();
                //创建会话,第一个参数表示是否使用事务,第二个参数表示消息的确认模式
                session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                //创建一个名为DemoActiveMQ消息队列
                destination = session.createTopic("DemoActiveMQ");
                //创建消息消费者
                messageConsumer = session.createConsumer(destination);
    
                //同步接受消息
                Message message = null;
                while ((message = messageConsumer.receive()) != null){
                    TextMessage textMessage = (TextMessage) message;
                    System.out.println(textMessage.getText());
                }
            } catch (JMSException e) {
                e.printStackTrace();
            } finally {
                if(connection != null){
                    try {
                        connection.close();
                    } catch (JMSException e) {
                        e.printStackTrace();
                    }
                }
            }
    
    
        }
    }
    
    

    消费者异步接收消息

    public class Consumer {
    
        //默认连接用户名
        public static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
        //默认连接密码
        public static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
        //默认连接地址
        public static final String BROKERURL = ActiveMQConnection.DEFAULT_BROKER_URL;
    
        public static void main(String[] args) {
            ConnectionFactory connectionFactory = null;     //连接工厂
            Connection connection = null;       //连接
            Session session = null;             //会话
            Destination destination = null;     //消息目的地
            MessageConsumer messageConsumer;    //消息消费者
    
            //实例化连接工厂
            connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKERURL);
            try {
                //通过连接工作获取连接
                connection = connectionFactory.createConnection();
                //启动连接
                connection.start();
                //创建会话,第一个参数表示是否使用事务,第二个参数表示消息的确认模式
                session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                //创建一个名为DemoActiveMQ消息队列
                destination = session.createTopic("DemoActiveMQ");
                //创建消息消费者
                messageConsumer = session.createConsumer(destination);
    
                //异步接收消息示例
                messageConsumer.setMessageListener(new MessageListener(){
                	@Override
                	public void onMessage(Message message){
                	TextMessage textMessage = (TextMessage) message;      
                	 System.out.println(textMessage.getText());	 
                });
        }
    }
    
    
  • 相关阅读:
    git提交代码五部曲
    菜单树jstree.js插件几个主要事件汇总
    创维电视加mac过滤后连不了wifi问题(路由器为TP-link)
    Mysql和Navicat for MySQL本地运行.sql文件
    MySQL下载与安装
    js一个区域拖拽到另一个区域,拖拽后还可以排序。知识点:js插件Jquery-UI:拖拽组件draggable,放置组件droppable,排序组件sortable
    echarts基本应用-更改坐标轴文字样式、轴名称、轴刻度、轴线、轴网格、曲线(折线图)、柱体上面显示值(柱状图),鼠标悬浮提示
    boostrap的时间插件daterangepicker.js之单日期,精确到秒
    echarts用法之点击事件(圆柱体例子)
    注册界面和功能
  • 原文地址:https://www.cnblogs.com/InternetJava/p/15731287.html
Copyright © 2011-2022 走看看