ActiveMQ整合Spring——接收消息

原创 2018年04月16日 18:39:40

需要的jar包,同上篇文章:

新建spring-activemq.xml,配置如下(配置与发送消息稍有不同):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://code.alibabatech.com/schema/dubbo 
     http://code.alibabatech.com/schema/dubbo/dubbo.xsd
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context.xsd">

	<!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 -->
	<bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
		<property name="brokerURL" value="tcp://192.168.25.134:61616" />
	</bean>
	<!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory -->
	<bean id="connectionFactory"
		class="org.springframework.jms.connection.SingleConnectionFactory">
		<!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->
		<property name="targetConnectionFactory" ref="targetConnectionFactory" />
	</bean>
	<!--这个是队列目的地,点对点的 -->
	<bean id="queueDestination" class="org.apache.activemq.command.ActiveMQQueue">
		<constructor-arg>
			<value>spring-queue</value>
		</constructor-arg>
	</bean>
	<!--这个是主题目的地,一对多的 -->
	<bean id="topicDestination" class="org.apache.activemq.command.ActiveMQTopic">
		<constructor-arg value="topic" />
	</bean>
	<!-- 接收消息 -->
	<!-- 配置监听器,我们新建的监听器的配置 -->
	<bean id="myMessageListener" class="cn.search.service.MyMessageListener" />
	<!-- 消息监听容器 -->
	<bean
		class="org.springframework.jms.listener.DefaultMessageListenerContainer">
		<property name="connectionFactory" ref="connectionFactory" />
		<property name="destination" ref="topicDestination" />
		<property name="messageListener" ref="myMessageListener" />
	</bean>


</beans>

新建一个类,实现MessageListsener接口:

package cn.search.service;

import java.io.IOException;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CloudSolrServer;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrInputDocument;
import org.springframework.beans.factory.annotation.Autowired;

import com.e3mall.search.SearchItem;

import cn.search.mapper.ISearchMapper;

public class MyMessageListener implements MessageListener {

	@Override
	public void onMessage(Message message) {
		try {
			// 取消息
			TextMessage textMessage = (TextMessage) message;
			String text = textMessage.getText();
			System.out.println(text);
		} catch (Exception e) {
			// TODO: handle exception
		}

	}

}

Spring与ActiveMQ整合(多线程并发发送与接收消息)

本文博客介绍生产者和消费者方都使用多线程技术并发发送和接收消息。
  • u010248330
  • u010248330
  • 2017年03月16日 17:30
  • 4489

spring整合JMS一同步收发消息(基于ActiveMQ的实现)

1. 安装ActiveMQ 到Apache官方网站下载最新的ActiveMQ的安装包,并解压到本地目录下,下载链接如下:http://activemq.apache.org/download.html...
  • liuchuanhong1
  • liuchuanhong1
  • 2016年07月28日 18:07
  • 7167

ActiveMQ整合Spring实现消息机制二(消息接收端配置)

最近项目中用到消息功能,
  • lingyun870801
  • lingyun870801
  • 2014年04月18日 09:01
  • 1219

ActiveMQ与spring整合,从后台发送消息,从前台接收消息。

关于ActiveMQ文档整理(以topic为例,从后台发送消息,从前台接收消息) 1、首先需要创建一个Web Project项目,引入ActiveMQ所需要的jar包,如图所示:   2、和sprin...
  • MrWangWanxing
  • MrWangWanxing
  • 2016年01月30日 09:54
  • 4313

spring boot整合activeMQ,实现ptp和topic两者消息模式

如何下载安装MQ我就不说了,百度一大把,老规矩先上一下项目目录结构: 先看一下配置文件,主要是中间件的配置: ps:1.主要注意的是activeMQ默认提供ptp模式,若要使用topic模式需要假...
  • eumenides_
  • eumenides_
  • 2017年10月26日 17:10
  • 599

springboot整合activemq,应答模式,消息重发机制,消息持久化

准备工作: activemq的消息确认机制就是文档中说的ack机制有: AUTO_ACKNOWLEDGE = 1    自动确认 CLIENT_ACKNOWLEDGE = 2    客户端...
  • zhaoyachao123
  • zhaoyachao123
  • 2017年10月27日 14:59
  • 1854

spring JMS、activemq中消费者收不到生产者发送的消息的原因解析

我们使用jms一般是使用spring-jms和activemq相结合,通过spring的JmsTemplate发送消息到指定的Destination。       首先定义一个active...
  • bidelinqi12
  • bidelinqi12
  • 2016年08月29日 11:15
  • 3161

Spring ActiveMQ 整合(一): 一个简单的demo,测试消息的发送与接收

Spring ActiveMQ 整合(一) ------ 一个简单的demo,测试消息的发送与接收
  • dly1580854879
  • dly1580854879
  • 2017年03月30日 15:08
  • 2335

SpringBoot+ActiveMQ多消息队列监听

其实springboot多消息队列监听和spring基本一样,只是配置上稍有区别' 1.在有@Configuration注解的java类中加如下配置 @Bean public DefaultMess...
  • weifeifei213
  • weifeifei213
  • 2017年08月03日 07:34
  • 1929

利用Spring与ActiveMQ整合发送、接收消息实例(Queue与Topic模式)

利用Spring与ActiveMQ整合发送、接收消息实例,同时使用Queue与Topic两种模式。
  • u012358328
  • u012358328
  • 2017年08月31日 17:05
  • 762
收藏助手
不良信息举报
您举报文章:ActiveMQ整合Spring——接收消息
举报原因:
原因补充:

(最多只允许输入30个字)