Spring整合Activemq-创新互联

目录

创新互联是一家集网站建设,金平企业网站建设,金平品牌网站建设,网站定制,金平网站建设报价,网络营销,网络优化,金平网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

一、Pom.xml

二、Spring配置文件

三、队列

四、主题


一、Pom.xml
org.apache.activemqactivemq-all5.10.0com.fasterxml.jackson.corejackson-databind2.10.1org.apache.activemqactivemq-pool5.15.10org.springframeworkspring-jms5.2.1.RELEASEorg.apache.xbeanxbean-spring4.15org.springframeworkspring-aop5.2.1.RELEASEorg.springframeworkspring-core4.3.23.RELEASEorg.springframeworkspring-context4.3.23.RELEASEorg.springframeworkspring-aop4.3.23.RELEASEorg.springframeworkspring-orm4.3.23.RELEASE
二、Spring配置文件
 
三、队列

(一)生产者

@Service
public class SpringMQ_Produce {

    @Autowired
    private JmsTemplate jmsTemplate;

    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        SpringMQ_Produce produce = (SpringMQ_Produce) applicationContext.getBean("springMQ_Produce");
//        produce.jmsTemplate.send(new MessageCreator() {
//            @Override
//            public Message createMessage(Session session) throws JMSException {
//                TextMessage textMessage = session.createTextMessage("spring整合MQ");
//                return textMessage;
//            }
//        });
        produce.jmsTemplate.send((Session session) ->{
            TextMessage textMessage = session.createTextMessage("spring整合MQ");
            return textMessage;
        });
        System.out.println("send task over");
    }
}

(二)消费者

@Service
public class SpringMQ_Consumer {

    @Autowired
    private JmsTemplate jmsTemplate;

    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        SpringMQ_Consumer consumer = (SpringMQ_Consumer) applicationContext.getBean("springMQ_Consumer");
        String revalue = (String)consumer.jmsTemplate.receiveAndConvert();
        System.out.println("消费者收到消息:"+revalue);
    }
}

四、主题

(一)spring配置文件修改(橙色为修改或者添加)

(二)生产者和消费者

可以看到前面的生产者和消费者的代码中我们并没有指定使用队列还是主题,所以代码无需改动,但是要注意主题需要先启动消费者。

(三)在spring中实现消费者不启动,直接通过配置监听完成

上面的主题相当于我们之前的同步阻塞方式,接下来我们实现异步阻塞方式

(1)spring配置文件添加

(2)编写监听类

@Component
public class myMessageListener implements MessageListener {
    @Override
    public void onMessage(Message message) {
        if(null != message && message instanceof TextMessage) {
            TextMessage textMessage = (TextMessage)message;
            System.out.println("监听到消息:"+textMessage.getText());
        }
    }
}

(3)只启动生产者,不启动消费者,自动会监听记录

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站标题:Spring整合Activemq-创新互联
标题网址:http://scyanting.com/article/cejdcd.html