入门篇,高手绕道。呵呵
ActiveMQ和jms的特性
jms特点:
(1)可以把不影响用户执行结果又比较耗时的任务(比如大批量发邮件,发短信)异步的扔给jms 服务端,
而尽快的把屏幕返还给用户,且服务端能够多线程排队响应高并发的请求。
(2)可以在java世界里达到最高的解耦。客户端与服务端无需直连,甚至无需知晓对方是谁、在哪里、有多
少人,只要对流过的信息作响应就行了,在企业应用环境复杂时作用明显。
ActiveMQ的特点:
(1)不需要实现ejb繁琐复杂的message bean接口和配置。
(2)可以使用spring的各种特性如ioc、aop 。
(3)基于jencks的jca container实现 pool connection,control transactions and manage security。
一个jms场景通常需要三者参与:
一个pojo的的message producer,负责使用spring的jms template发送消息。
一个message converter,负责把java对象转化为消息,使得producer能够直接发送pojo。
一个mdp message consumer,负责接收并处理消息。
本例中给出一个使用activemq实现的有助于加深对jms机制理解的简单例子。
首先下载activemq 下载地址
http://www.apache.org/dyn/closer.cgi/activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.tar.gz
运行 mq目录\bin\activemq.bat ,启动mq服务。
1 生产者代码
package com.travelsky.jms;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;
/**
* @author songning
*/
public class JMSProducer {
/**
* @param args
* @throws JMSException
*/
public static void main(String[] args) throws JMSException {
ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection conn = factory.createConnection();
conn.start();
Queue queue = new ActiveMQQueue("helloQueue");
final Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(queue);
for(int i=0;i<10;i++)
{
producer.send(session.createTextMessage("hello world"+i));
}
System.out.println("send over");
}
}
2消费者代码
package com.travelsky.jms;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;
/**
* @author songning
*/
public class Consumer {
/**
* @param args
* @throws JMSException
*/
public static void main(String[] args) throws JMSException {
ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection conn = factory.createConnection();
conn.start();
Queue queue = new ActiveMQQueue("helloQueue");
final Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageConsumer consumer = session.createConsumer(queue);
consumer.setMessageListener(new MessageListener(){
@Override
public void onMessage(Message msg1){
System.out.println(msg1.toString());
}
});
}
}
分享到:
相关推荐
Spring框架则是一个广泛使用的Java企业级应用开发框架,提供了一整套的解决方案,包括依赖注入、数据访问、事务管理等。将ActiveMQ与Spring整合,可以充分利用Spring的便捷性来管理和使用消息队列,使得消息的发送和...
ActiveMQ是Apache开发的一款开源消息中间件,而Spring框架则广泛应用于Java后端开发,提供了一整套强大的企业级应用解决方案。当我们需要在Spring应用中集成ActiveMQ时,就需要进行相应的配置。本文将深入讲解...
综合来看,"springMvc+spring+activeMq+mybaits"的组合提供了一个完整的、健壮的Web应用解决方案,从用户请求的处理到业务逻辑的执行,再到数据的存储和异步通信,每个环节都有对应的框架支持。这样的架构设计使得...
在IT行业中,Apache ActiveMQ和Spring框架的整合是企业级应用中常见的消息中间件解决方案。ActiveMQ是Apache软件基金会开发的一款开源、高性能、跨平台的消息代理,它支持多种消息协议,如OpenWire、AMQP、STOMP等。...
综上所述,Spring整合JMS和ActivemQ提供了一套完整的解决方案,帮助开发者轻松地在应用中实现消息的发送和接收。通过这种方式,可以构建出高可用、松耦合、可扩展的分布式系统,提高系统的稳定性和响应速度。在实际...
在Java世界中,ActiveMQ和Spring的整合是企业级应用中常见的消息中间件解决方案,用于实现JMS(Java Message Service)消息传递。本教程将深入探讨如何将这两个强大的工具结合在一起,以创建一个简单的发送JMS消息的...
本篇将深入探讨如何整合Apache ActiveMQ与Spring框架,实现高效的消息中间件解决方案。ActiveMQ是Apache软件基金会下的一个开源项目,它是一个功能强大的消息代理,支持多种消息协议,如OpenWire、STOMP、AMQP和MQTT...
ActiveMQ 和 Spring 的整合是企业级应用中常见的消息中间件解决方案,尤其在构建分布式系统时,两者结合能够提供高效、可靠的异步通信能力。ActiveMQ 是一个开源的消息代理,实现了 JMS(Java Message Service)规范...
在IT行业中,Spring框架与ActiveMQ的结合是构建企业级应用中常见的消息中间件解决方案。Spring框架是一个开源的Java平台,它提供了丰富的功能,包括依赖注入、AOP(面向切面编程)、数据访问、Web应用以及更多的服务...
标题中的“jms Spring+ActiveMQ 5.4.2”指的是Java消息服务(Java Message Service)在Spring框架中与Apache ActiveMQ 5.4.2版本的集成应用。Java消息服务(JMS)是Java平台中用于创建、发送、接收和读取消息的标准...
而Spring框架,作为一个Java平台的全功能模块化解决方案,提供了与ActiveMQ集成的能力,让开发者能够轻松地在Spring应用中使用消息队列。本篇将深入探讨Spring与ActiveMQ的集成及其配置过程。 首先,理解Spring与...
JMS(使用消息中介:ActiveMQ) ...JmsTemplate是Spring消除冗长和重复JMS代码的解决方案。JmsTemplate可以创建连接,获取会话,以及发送和接收消息。http://blog.csdn.net/facepp/archive/2008/11/26/3374151.aspx
再者,Spring Cloud是一套微服务解决方案,它为开发人员提供了用于构建分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)的工具。...
ActiveMQ和Spring的集成是企业级Java应用中常见的消息中间件解决方案,用于实现解耦、异步处理和系统间的通信。在本示例中,我们将深入探讨如何将这两个组件结合在一起,以创建一个高效且可扩展的应用架构。 首先,...
在IT行业中,Apache ActiveMQ和Spring框架的整合是常见的企业级消息传递解决方案。这个"activemq和spring整合发布消息和订阅消息demo"是用于演示如何在Spring环境中配置和使用ActiveMQ来实现实时的数据通信。现在,...
在这个实例中,我们将探讨如何利用Spring框架整合ActiveMQ(一个流行的开源消息代理)和Quartz(一个广泛使用的作业调度库)来实现JMS(Java消息服务)数据同步。这个方案尤其适用于大型分布式系统,它能够确保即使...
在企业级应用开发中,Spring框架与ActiveMQ的结合使用是一种常见的消息中间件解决方案,用于实现应用程序间的异步通信和解耦。本项目基于Maven构建,提供了对Topic的实现,同时也支持轻松切换到Queue模式。 **...
Spring框架则是Java领域广泛应用的应用程序开发框架,提供了全面的企业级应用开发解决方案。当ActiveMQ与Spring整合时,可以方便地实现异步处理,比如异步发送邮件,这在大型系统中尤为常见,因为它们能够避免阻塞...
2. **WebSocket**:更高级的解决方案是使用WebSocket,它建立一个持久的连接,服务器可以在有新消息时立即推送给客户端。Spring框架的Spring WebSocket模块可以方便地集成WebSocket服务。 通过以上步骤,你可以成功...