`
handong890
  • 浏览: 10443 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

ActiveMQ入门_20110720

阅读更多
ActiveMQ是一个强大的消息服务器,准确的说其定位是消息总线。然后今天用1上午时间入入门体验一下消息队列

咱们的项目一般都是 基于ssh,其中spring扮演的角色就是万金油啊,这次也不例外整合ActiveMQ就靠他了

首先下载下来ActiveMQ 然后进入bin目录 启动消息服务器即可,你可以通过后台的控制窗口看消息服务器运行情况

也可以在 http://127.0.0.1:8161/admin 这里看消息服务器情况,比如几个链接当前开了几个队列,队列里是什么内容,设计相当贴心啊




言归正传谈谈整合


activation-1.1.jar

activemq-camel-5.5.0.jar

activemq-console-5.5.0.jar

activemq-core-5.5.0.jar

activemq-jaas-5.5.0.jar

activemq-pool-5.5.0.jar

activemq-protobuf-1.1.jar

activemq-web-5.5.0.jar


javax.jms.jar

geronimo-spec-j2ee-management-1.0-rc2.jar

将这些依赖包丢入工程,我可是尝试N遍 在一次又一次找不到class的异常中百度出这些jar包

然后单独定义一个spring配置文件配置消息服务
<?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:tx="http://www.springframework.org/schema/tx" 

  xsi:schemaLocation="http://www.springframework.org/schema/beans

                     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

                     http://www.springframework.org/schema/tx

                     http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> 




  <bean id="connectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"> 

    <property name="connectionFactory"> 

      <bean class="org.apache.activemq.ActiveMQConnectionFactory"> 

        <property name="brokerURL"> 

          <value>tcp://localhost:61616</value> 

        </property> 

      </bean> 

    </property> 

  </bean> 

    

  <bean id="dest" class="org.apache.activemq.command.ActiveMQQueue"> 

    <constructor-arg value="myDest"/> 

  </bean> 

    

  <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> 

    <property name="connectionFactory" ref="connectionFactory"></property> 

    <property name="defaultDestination" ref="dest"/> 

  </bean> 

  

  <bean id="messageSender" class="com.us.sysmanager.bs.impl.MessageSenderImpl"> 

    <property name="jmsTemplate" ref="jmsTemplate"></property> 

  </bean> 

   

</beans> 




package com.us.sysmanager.bs.impl;




import javax.jms.JMSException;

import javax.jms.Message;

import javax.jms.Session;

import javax.jms.TextMessage;




import org.springframework.jms.core.MessageCreator;

import org.springframework.jms.core.support.JmsGatewaySupport;




import com.us.sysmanager.bs.IMessageSender;







public class MessageSenderImpl extends JmsGatewaySupport implements IMessageSender {

	      

	  public void sendMesage(){

		//HD_Queue 是队列名 没有的话其会自行创建

		 getJmsTemplate().send("HD_Queue", 

	                 new MessageCreator() {

	       public Message createMessage(Session session) 

	                 throws JMSException {

	         return session.createTextMessage("哈哈哈哈");

	       }

	     });

	    

	  }

	  

	  public void processMessage(){

		     Message msg = getJmsTemplate().receive("HD_Queue");

		     

		     

		     

		     try{

		       TextMessage textMessage = (TextMessage) msg;

		       if( msg!=null){

		       System.out.println(" Message Received -->" + 

		                   textMessage.getText());

		       }

		     }catch(Exception e){

		           e.printStackTrace();

		     }

		     

		   

		   }

	  

}




ok配置好来试试吧,我是直接在action中测试的 好搓啊 呵呵
@RequestMapping("/sendMsg")
	public void DelSmsTypeForId(HttpServletResponse res) throws IOException 
	{
		messageSender.sendMesage();
        res.getWriter().print("helloWorld");
	}
	
	@RequestMapping("/getMsg")
	public void getMsg(HttpServletResponse res)throws IOException 
	{
		messageSender.processMessage();
		res.getWriter().print(" ");
	}




测试通过啊 如果 我一开始调用 getMsg 这时队列没有信息 程序会一直阻塞 然后调用一下 sendMsg 放入消息
getMsg  就会获取消息继续执行了


现在越来越感慨,Spring把什么东西都封装的那么好以后没有spring怎么开发啊
当然 ActiveMQ的其它高级特性还有待发掘研究,这只是个简单的消息队列入门

分享到:
评论

相关推荐

    ActiveMQ实践入门指南_ActiveMQ实践入门指南_源码

    **ActiveMQ实践入门指南** Apache ActiveMQ是一款开源的消息中间件,它是Java消息服务(JMS)的实现,广泛应用于分布式系统中的异步通信。ActiveMQ以其高性能、高可靠性和易于管理的特点,在企业级应用中备受青睐。...

    activeMQ入门到精通.txt

    根据提供的文件信息:“activeMQ入门到精通”,我们可以深入探讨ActiveMQ的相关知识点,包括其基本概念、安装配置步骤、核心功能特性以及应用场景等。 ### ActiveMQ简介 ActiveMQ是一款开源的消息中间件,它支持...

    JMS-ActiveMQ入门实例

    **JMS与ActiveMQ入门实例详解** Java消息服务(Java Message Service,简称JMS)是Java平台中用于创建、发送、接收和阅读消息的应用程序接口。它为应用程序提供了标准的接口,可以跨越多种消息中间件产品进行通信。...

    ActiveMQ入门及深入使用的例子

    ActiveMQ是中国最流行的开源消息中间件之一,它基于Java Message Service (JMS) 规范,为分布式系统提供高效、可靠的消息传递服务。本教程将引导你从基础到深入理解如何使用ActiveMQ,并通过实际的例子进行操作。 ...

    ActiveMQ入门

    ### ActiveMQ入门详解 #### 一、ActiveMQ简介与重要性 **ActiveMQ**作为Apache组织下的一个开源项目,是一款非常成熟且功能强大的消息中间件。消息中间件是指在分布式系统中用来完成消息发送和接收的基础软件。它...

    ActiveMQ_in_Action.doc

    首先,安装ActiveMQ是入门的第一步。在Apache官方网站下载最新的4.1.0版本,解压缩后,你会看到一个包含bin、conf、data、docs、example、lib等目录的结构。bin目录下有用于不同操作系统的启动脚本,如Windows下的...

    activemq 入门示例代码

    **ActiveMQ 入门示例代码详解** ActiveMQ 是 Apache 开源组织开发的一款高效、可靠的开源消息中间件,它遵循 JMS(Java Message Service)规范,支持多种协议,如 AMQP、STOMP、OpenWire 等,广泛应用于分布式系统...

    activemq 配置说明与activemq入门讲解

    在本文中,我们将深入探讨ActiveMQ的配置及其入门知识。 一、ActiveMQ简介 ActiveMQ是Apache软件基金会的顶级项目,它的核心功能是作为消息代理,负责接收、存储和转发消息。它支持多种协议,如OpenWire、AMQP、...

    activemq入门实例,有源代码

    在“activemq入门实例”中,你将学习到以下几个关键知识点: 1. **ActiveMQ的基本概念**:ActiveMQ作为JMS提供商,它提供一个服务器端(broker)来存储和转发消息,客户端则通过连接到这个服务器来发送和接收消息。...

    SpringActiveMQ入门示例

    SpringActiveMQ入门示例是关于如何在Java环境中利用Spring框架与Apache ActiveMQ集成的一个实践教程。这个示例主要适用于开发者想要了解如何在Spring应用中使用消息队列进行异步通信和解耦。在这个项目中,开发环境...

    ActiveMQ实践入门指南

    ### ActiveMQ实践入门指南 #### 重要性与背景 **ActiveMQ**,作为Apache基金会旗下的明星项目之一,凭借其强大的功能和对JMS1.1及J2EE1.4规范的全面支持,在IT业界占据了举足轻重的地位。自2003年起,由Apache ...

    Activemq入门实例.pdf

    Apache ActiveMQ是一个开源的消息代理,遵循Java消息服务(JMS)规范,用于在不同的应用和平台之间进行可靠的消息传递。ActiveMQ能够支持多种传输协议,并能够处理大量消息的存储和转发。 从文件【部分内容】中,...

    activeMQ简单入门案例

    本教程将引导你通过一个简单的入门案例了解如何使用ActiveMQ实现生产者与消费者的模式。 首先,我们需要了解ActiveMQ的基本概念。在消息队列中,生产者是发送消息的实体,而消费者则是接收和处理这些消息的实体。...

    HETF-ActiveMQ入门手册.zip

    标题"**HETF-ActiveMQ入门手册.zip**"表明这是一个关于ActiveMQ的入门学习资源,可能包含详细的文档或教程,旨在帮助初学者理解并使用ActiveMQ。"HETF"可能是某个组织、项目或者教程系列的缩写。由于描述中并未提供...

    使用ActiveMQ入门消息中间件.zip

    使用ActiveMQ入门消息中间件

    HETF-ActiveMQ入门手册.doc

    HETF-ActiveMQ入门手册.doc

    Apache ActiveMQ 入门最简单例子

    在本文中,我们将深入探讨如何通过Apache ActiveMQ 5.8版本进行入门,以及如何构建一个简单的Master环境。 首先,我们要了解消息队列(Message Queue)的基本概念。消息队列是一种异步通信机制,它允许应用程序之间...

    activeMQ 入门级demo

    下载最新版本4.1.0release, 解压apache-activemq-4.1-incubator.zip(或者apache-activemq-4.1-incubator.tar.gz) 目录如下: +bin (windows下面的bat和unix/linux下面的sh) +conf (activeMQ配置目录,包含最...

Global site tag (gtag.js) - Google Analytics