`
lihao312
  • 浏览: 483915 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring集成ActiveMQ, 消息提供者

    博客分类:
  • java
阅读更多
1.spring集成ActiveMQ,依赖包
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-jms</artifactId>
	<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
	<groupId>org.apache.activemq</groupId>
	<artifactId>activemq-client</artifactId>
	<version>5.13.3</version>
</dependency>
<dependency>
	<groupId>org.apache.activemq</groupId>
	<artifactId>activemq-spring</artifactId>
	<version>5.13.3</version>
</dependency>

2.配置spring文件,主要配置ConnectionFactory,和ActiveMQDestination,JSMTemplate
<!-- ActiveMQConnectionFactory -->
<bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
	<constructor-arg index="0" value="tcp://127.0.0.1:61616"/>
	<property name="trustedPackages">
		<list>
			<value>com.lance.mq</value>
			<value>java.util</value>
		</list>
	</property>
</bean>

<!-- 创建pooledConnectionFactory连接池, JmsTemlate每次发送消息都重新打开一个Connection -->
<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
	<property name="connectionFactory" ref="activeMQConnectionFactory"/>
	<property name="maxConnections" value="5"/>
</bean>


<!-- CachingConnectionFactory 
<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
	<constructor-arg index="0" ref="activeMQConnectionFactory"/>
</bean>
-->

<!-- jmsTemplate -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
	 <property name="connectionFactory" ref="pooledConnectionFactory"/>
	 <property name="messageConverter">
		<bean class="org.springframework.jms.support.converter.SimpleMessageConverter"/>
	 </property>
</bean>

<!-- ActiveMQQueue -->
<bean id="activeMQQueue" class="org.apache.activemq.command.ActiveMQQueue">
	<constructor-arg index="0" value="queue"/>
</bean>

3.消息发送
/**
 * 发送Text消息队列
 * @param message
 */
public void sendTextQueueMessage(final String message) {
	jmsTemplate.send(activeMQQueue, new MessageCreator(){
		@Override
		public Message createMessage(Session session) throws JMSException {
			return session.createTextMessage(message);
		}
	});
}

/**
 * 发送消息并处理消息返回值
 * @param message
 * @throws JMSException 
 */
public String sendTextQueueMessageAndReceive(final String message) throws JMSException {
	Message replyMessage = jmsTemplate.sendAndReceive(activeMQQueue, new MessageCreator(){
		@Override
		public Message createMessage(Session session) throws JMSException {
			return session.createTextMessage(message);
		}
	});
	
	log.info("sendTextAndReceive: {}", JSON.toJSONString(replyMessage));
	TextMessage textMessage = (TextMessage)replyMessage;
	return textMessage.getText();
}

/**
 * 订单入队列
 * @param info
 * @throws JMSException 
 */
public String sendObjectQueueMessage(final OrderInfo info) throws JMSException {
	Message message = jmsTemplate.sendAndReceive(activeMQQueue, new MessageCreator() {
		@Override
		public Message createMessage(Session session) throws JMSException {
			return session.createObjectMessage(info);
		}
	});
	
	log.info("sendTextAndReceive: {}", JSON.toJSONString(message));
	TextMessage textMessage = (TextMessage)message;
	return textMessage.getText();
}


5.可以模拟多个生产者,在高并发下,多台服务器请求进入消息队列,交给消费者统一生成订单,详见demo地址:
https://github.com/leelance/demo/tree/master/demo-springmvc-activemq
分享到:
评论

相关推荐

    Spring集成ActiveMQ配置

    Spring集成ActiveMQ配置详解 Spring框架与ActiveMQ的集成,为开发者提供了一种高效、可靠的JMS消息处理机制。在企业级应用中,这种集成能够极大地提升系统的响应速度和容错能力,特别是在需要异步通信和分布式事务...

    spring集成activemq例子demo

    在Spring框架中集成ActiveMQ,我们可以创建一个高效的、可扩展的系统,利用消息队列来解耦生产者和消费者,提高系统的响应速度和可靠性。以下将详细介绍如何进行Spring与ActiveMQ的集成,并提供一些关键知识点。 1....

    spring使用activeMQ实现消息发送

    Spring提供了`spring-jms`模块,它包含了一组丰富的API和配置选项,使得在Spring应用中集成ActiveMQ变得简单。通过使用`JmsTemplate`类,我们可以方便地发送和接收消息。 1. **配置ActiveMQ**:在开始之前,我们...

    spring + activemq 消息sample

    8. **监控与管理**:ActiveMQ提供了一个Web控制台,可以实时查看消息队列的状态、监控性能等。 在实际项目中,"springTest"这个压缩包可能包含了实现以上功能的代码示例,包括配置文件、Java类以及相关的测试用例。...

    Spring+ActiveMQ消息队列+前台接收消息

    2. **创建消息生产者**:在Spring中,你可以使用`JmsTemplate`作为消息生产者,发送消息到ActiveMQ的队列或主题。配置`JmsTemplate`并设置ActiveMQ的连接工厂,然后在需要发送消息的地方调用其`convertAndSend`方法...

    Spring整合activemq

    在提供的文件名"activemq-provider"中,我们可以推测这是实现消息生产者的一端,可能包含配置文件、消息发送逻辑以及相关的`MessageProducer`实现。"activemq-consumer"则可能是消息消费者的一端,包含了消息监听器...

    spring集成activemq演示queue和topic 持久化

    以上就是Spring集成ActiveMQ的基本流程,涉及Queue和Topic的创建、持久化到MySQL以及消息的发送与接收。这个测试Demo涵盖了消息中间件的核心功能,可以帮助你理解并实践消息传递系统在实际项目中的应用。

    spring整合Activemq源码

    Spring作为Java领域的主流框架,与ActiveMQ的集成使得这种消息中间件的使用更加便捷。本文将详细探讨Spring与ActiveMQ的整合过程,以及相关的知识点。 1. **Spring框架**:Spring是Java开发中的一个全功能框架,...

    ActiveMQ-P2P文本消息+Spring和ActiveMQ的整合实例源码

    Spring 框架提供了与 ActiveMQ 集成的能力,使得开发者可以轻松地在 Spring 应用中使用 ActiveMQ。整合主要通过以下组件实现: 1. **Spring JMS**: Spring 提供了 JmsTemplate 类,它是发送和接收 JMS 消息的主要...

    spring配置activemq详解

    - ActiveMQ提供了Web控制台,可以通过浏览器进行监控和管理,查看队列状态、消息统计等信息。 - Spring也提供了健康检查和指标暴露的功能,便于在微服务环境中监控消息系统的运行状况。 总之,"spring配置...

    spring boot 集成activemq Datajpa Ehcache

    总结来说,通过Spring Boot集成ActiveMQ、DataJPA和Ehcache,我们可以构建一个高效、响应快速的应用平台。ActiveMQ提供可靠的异步通信,DataJPA简化了数据库操作,而Ehcache则提高了数据访问的速度。这种集成方式在...

    spring+activemq

    标题“spring+activemq”暗示了我们将探讨如何将Spring框架与ActiveMQ集成,以便利用JMS进行高效的消息传递。下面我们将深入讨论这个主题。 首先,**Spring对JMS的支持**:Spring框架提供了一套强大的JMS抽象层,...

    SpringBoot集成ActiveMQ实例详解.docx

    总结来说,Spring Boot集成ActiveMQ提供了便捷的方式来利用JMS进行异步通信。通过理解JMS和ActiveMQ的工作原理,以及在Spring Boot中的配置和使用方法,开发者可以有效地优化应用程序的架构,提升系统的整体性能和...

    Spring和ActiveMQ的整合实例源码

    9. **Spring注解**:在提供的实例中,可能包含了使用注解的方式配置Spring与ActiveMQ的集成,如`@EnableJms`启动JMS支持,`@JmsListener`定义消息监听器等。 10. **Tomcat服务器**:Tomcat是一个流行的Java Web...

    jms Spring+ActiveMQ 5.4.2

    5. **管理工具**:ActiveMQ提供了Web控制台和命令行工具,便于管理和监控消息队列。 6. **性能优化**:ActiveMQ在5.4.2版本中进行了性能优化,能够处理大量并发连接和高吞吐量的消息传输。 在"jmsSend"这个文件名...

    Spring与ActiveMQ整合完整案例

    在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而ActiveMQ则是Apache组织提供的一个开源消息中间件,常用于实现应用程序之间的异步通信。本案例将详细讲解如何将Spring与ActiveMQ整合,以提升系统的...

    Spring-ActiveMQ.rar_Spring Activemq_activemq_activemq spring

    而Spring框架,作为一个Java平台的全功能模块化解决方案,提供了与ActiveMQ集成的能力,让开发者能够轻松地在Spring应用中使用消息队列。本篇将深入探讨Spring与ActiveMQ的集成及其配置过程。 首先,理解Spring与...

    activemq_spring.rar_Spring和ActiveMQ_spring_消息中间件_消息发布订阅_消息订阅

    Spring框架作为Java领域广泛使用的应用框架,提供了与ActiveMQ集成的能力,使得我们可以方便地在Spring应用中实现消息的发布与订阅。现在我们来详细探讨Spring和ActiveMQ的整合以及消息的发布订阅机制。 首先,让...

    activemq springMVC集成jar包

    10. **监控和管理**:ActiveMQ提供了一个Web控制台,可以通过Web界面监控消息队列的状态,查看消息、消费者、生产者等信息。这对于排查问题和优化系统非常有用。 通过以上步骤,你可以将ActiveMQ成功集成到Spring ...

Global site tag (gtag.js) - Google Analytics