`

JMS 中间件:activeMQ, JMS 入门

    博客分类:
  • J2EE
阅读更多

JMS入门,使用activeMQ 发送,接收消息。
首先,下载 apache-activemq-5.4.0。http://activemq.apache.org/download.html
解压,然后双击 bin/activemq.bat。
把 activemq-all-5.3.0.jar 加入 classpath.

构建Sender.java 和Receiver.java :

import java.util.Date;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MapMessage;
import javax.jms.MessageProducer;
import javax.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;

public class Sender {

 public static void main(String[] args){
    try{
  ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(); 
   
     Connection connection = connectionFactory.createConnection(); 
     connection.start(); 
  
     Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); 
     Destination destination = session.createQueue("queue"); 
  
     MessageProducer producer = session.createProducer(destination); 
     System.out.println("init");
     for(int i=0; i<3; i++) { 
         MapMessage message = session.createMapMessage(); 
         message.setLong("count", new Date().getTime()); 
         Thread.sleep(1000); 
         //通过消息生产者发出消息 
         producer.send(message); 
        
     } 
     session.commit(); 
     session.close(); 
     connection.close(); 
    }
    catch(Exception e){
     
    }
 }
}


接收者:

import java.util.Date;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MapMessage;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;

public class Receiver {

 public static void main(String[] args) {
 try{
  ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(); 
   
     Connection connection = connectionFactory.createConnection(); 
     connection.start(); 
  
     final Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); 
     Destination destination = session.createQueue("queue"); 
  
     MessageConsumer consumer = session.createConsumer(destination); 
     /*//listener 方式
     consumer.setMessageListener(new MessageListener() {
 
         public void onMessage(Message msg) {
             MapMessage message = (MapMessage) msg;
             //TODO something....
             System.out.println(" 收到消息:" + new Date(message.getLong("count")));
             session.commit();
         }
 
     });
     Thread.sleep(30000);
     */ 
     int i=0; 
     while(i<3) { 
         i++; 
         MapMessage message = (MapMessage) consumer.receive(); 
         session.commit(); 
  
         //TODO something.... 
         System.out.println("收到消 息:" + new Date(message.getLong("count"))); 
     } 
  
     session.close(); 
     connection.close(); 
 }
 catch(Exception e){
  
 }
 }

}

 

 

分享到:
评论

相关推荐

    实验三 消息中间件应用开发:ActiveMQ实现单线程多队列

    【标题】:“实验三 消息中间件应用开发:ActiveMQ实现单线程多队列” 在IT领域,消息中间件是一种重要的软件架构组件,它主要用于应用程序之间的异步通信,提高系统的可扩展性和解耦性。本实验主要关注的是如何...

    JMS中间件ActiveMQ介绍

    ### JMS中间件ActiveMQ介绍 #### JMS (Java Message Service) 概述 Java Message Service(JMS)是Sun Microsystems提出的一种规范,用于统一不同的消息传递中间件(Message-Oriented Middleware, MOM)系统的接口...

    jms Spring+ActiveMQ 5.4.2

    ActiveMQ是Apache软件基金会的一个开源项目,它是实现JMS规范的消息中间件。ActiveMQ 5.4.2是其早期的一个稳定版本,尽管现在可能已经更新到更高版本,但当时它提供了许多特性,包括: 1. **多协议支持**:ActiveMQ...

    消息中间件-activeMQ.zip

    ActiveMQ是中国最流行的消息中间件之一,它是一个开源的、基于Java消息服务(JMS)规范的实现,被广泛应用于分布式系统中,用于处理异步通信、解耦系统组件以及提高系统的可扩展性。在本压缩包文件"activeMQ-master...

    java中间件之activemq

    Java中间件领域的ActiveMQ是一款由Apache开发的开源消息中间件,它为企业级应用提供高效、可扩展、稳定且安全的消息通信服务。ActiveMQ的核心目标是实现标准的、面向消息的集成,支持多语言环境,确保不同平台之间的...

    一头扎进JMS之ActiveMQ系列

    在这个“一头扎进JMS之ActiveMQ系列”中,我们将深入探讨这个流行的开源消息代理——ActiveMQ,它是Apache软件基金会的项目,广泛应用于各种企业级应用。 ActiveMQ作为JMS的实现,提供了多种协议支持,包括开放标准...

    消息中间件-ActiveMQ.zip

    ActiveMQ 是 Apache 软件基金会的一个开源项目,它是一款功能强大的消息中间件,遵循开放消息传递协议(Open Message Broker Protocol,即 JMS,Java Message Service)。ActiveMQ 提供了跨语言的支持,允许不同的...

    分布式通讯面试专题系列:ActiveMQ+RabbitMQ+Kafka.rar

    首先,ActiveMQ是Apache软件基金会的一个开源项目,它是基于Java消息服务(JMS)规范的消息中间件。ActiveMQ提供了高可用性、可扩展性和跨语言支持。其核心功能包括点对点和发布/订阅模式的消息传递,以及支持多种...

    JMS-ActiveMQ入门实例

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

    分布式通讯面试专题系列:ActiveMQ+RabbitMQ+Kafka.zip

    本面试专题系列涵盖了三个关键的分布式消息中间件:ActiveMQ、RabbitMQ和Kafka,它们都是实现高效、可靠数据传输的重要工具。下面我们将深入探讨这三个组件的核心概念、特点以及在实际应用中的使用场景。 首先,...

    activemq 配置说明与activemq入门讲解

    Apache ActiveMQ是业界广泛使用的开源消息中间件,它遵循JMS(Java Message Service)标准,提供了高可用性、可伸缩性和可靠的消息传递服务。在本文中,我们将深入探讨ActiveMQ的配置及其入门知识。 一、ActiveMQ...

    ActiveMQ.rar

    消息中间件的功能、特点、应用场景等 n 二: ActiveMQ安装和基本使用 包括:通过源码安装、基本的配置示例、启动、测试运行、关闭等 n 三:理解和掌握JMS 包括:基本概念、消息结构、可靠性机制、PTP、Pub/Sub、API...

    HETF-ActiveMQ入门手册.zip

    ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它实现了多种消息协议,如OpenWire、STOMP、AMQP、MQTT和XMPP。以下是ActiveMQ的一些核心概念和功能: 1. **消息队列(Message Queuing)**:ActiveMQ允许...

    JMS.rar_activemq_jms_jms activemq

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它是Java消息服务(Java Message Service,简称JMS)的一个实现。JMS是一种为分布式应用提供异步消息传递的API,它定义了一种标准接口,使得不同的消息系统...

    activemq 5.5 源码

    Apache ActiveMQ是开源的、基于Java消息服务(JMS)的高级消息中间件,它允许应用程序之间进行异步通信。ActiveMQ 5.5.0是该中间件的一个早期版本,包含了丰富的特性和功能,适合深入研究其内部工作原理和架构。这个...

    JMS ACTIVEMQ 教程文档

    - **网络连接**:ActiveMQ通过网络桥接功能,能够连接不同的消息中间件,实现跨平台通信。 - **安全控制**:支持用户认证和权限管理,确保只有授权的用户才能访问和操作消息。 3. **使用ActiveMQ** - **安装配置...

    apache-activemq-5.15.2.zip

    Apache ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它基于Java Message Service(JMS)规范,用于在分布式系统中高效地处理异步消息传递。这个压缩包"apache-activemq-5.15.2.zip"包含了ActiveMQ的5.15.2...

Global site tag (gtag.js) - Google Analytics