JMS - QueueBrowser

  QueueBrowser 是一个专用对象,提供提前浏览 Queue 上的排队消息的功能,而实际上并没有真正消费这些消息。这是点对点消息传送模型的独有特性。从 QueueBrowser 获得消息是该队列中消息的副本,而且并未认为会被消费——它们仅是用于浏览而已。还有,QueueBrowser 并不能保证提供的是队列消息的准确清单。QueueBrowser 包含的仅仅是创建 QueueBrowser 时队列的一个快照或者它的一个副本。队列的内容可能会在创建 QueueBrowser 和查看的时间间隔内发生变化。

public static void main(String[] args) {
    try {
        Context context = new InitialContext();
        QueueConnectionFactory connFactory = (QueueConnectionFactory) context.lookup("QueueCF");
        Connection conn = connFactory.createConnection();
        conn.start();
        Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
        Queue queue = session.createQueue("hello_queue");

        QueueBrowser browser = session.createBrowser(queue);
        Enumeration<?> messages = browser.getEnumeration();
        while (messages.hasMoreElements()) {
            TextMessage textMsg = (TextMessage) messages.nextElement();
            System.out.println(textMsg);
        }

        browser.close();
        conn.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
时间: 2024-08-13 00:33:17

JMS - QueueBrowser的相关文章

JMS消息服务器(二)——点对点消息传送模型

一.点对点模型概览 当你只需要将消息发布送给唯一的一个消息消费者是,就应该使用点对点模型.虽然可能或有多个消费者在队列中侦听统一消息,但是,只有一个且仅有一个消费者线程会接受到该消息. 在p2p模型中,生产者称为发送者,而消费者则称为接受者.点对点模型最重要的特性如下: 消息通过称为队列的一个虚拟通道来进行交换.队列是生产者发送消息的目的地和接受者消费消息的消息源. 每条消息通仅会传送给一个接受者.可能会有多个接受者在一个队列中侦听,但是每个队列中的消息只能被队列中的一个接受者消费. 消息存在先

03.JMS深入

1.JMS API JMS API可以分为3个主要部分:公共API.点对点API和发布/订阅API.在JMS1.1中,公共API可被用于向一个队列或主题发送消息,或从其中接收消息.点对点API专门用于使用队列的消息传送,而发布/订阅API则专门用于使用主题的消息传送. 1.JMS公共API 在JMS公共API内部,和发送与接收JMS消息有关的JMS API接口主要有7个: ConnectionFactory - 一个创建连接的连接工厂 Destination - 消息目的地,可以是queue(队

JMS ActiveMQ研究文档

1. 背景 当前,CORBA.DCOM.RMI等RPC中间件技术已广泛应用于各个领域.但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行:(2)客户和服务对象的生命周期紧密耦合:客户进程和服务对象进程 都必须正常运行:如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常:(3)点对点通信:客户的一次调用只发送给某个单独的目标对象. 面向消息的中间件(Message Oriente

JMS与MQ详解

<一> 1.ActiveMQ概述     企业消息软件从80年代起就存在,它不只是一种应用间消息传递风格,也是一种集成风格.因此,消息传递可以满足应用间的通知和互相操作.但是开源的解决方案是到最近10年才出现的.Apache ActiveMQ就是其中一种.它使应用间能以异步,松耦合方式交流.ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线. ?   ActiveMQ是Apache软件基金下的一个开源软件,它遵循JMS规范(Java Message Service),是消息

Table of Contents - JMS

JMS Specification v1.1 JMS 基本概念 Message QueueBrowser 消息选择器 消息确认 ConnectionMetaData ExceptionListener 事务性消息 Temporary Destination Exceptions

JMS API

三.JMS API简析 顶级接口 P2P Pub/sub 备注 ConnectionFactory QueueConnectionFactory TopicConnectionFactory 基于工厂模式,创建和JMS提供者之间的链接,需要制定链接的URL或者协议;任何JMS客户端和JMS提供者之间的交互,都必须基于制定的连接. Destination Queue Topic “目的地”,用于描述消息的通道类型,是JMS提供者用于标记消息归属类型的”标记”. Connection QueueCo

jms入门

一.所需jar(maven) <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.14.3</version> </dependency> 二.创建生产者 import org.apache.activemq.ActiveMQConnectionFactory;

JMS开发步骤和持久化/非持久化Topic消息

------------------------------------------------ 开发一个JMS的基本步骤如下: 1.创建一个JMS connection factory 2.通过connection factory来创建JMS connection 3.启动JMS connection 4.通过connection创建JMS session 5.创建JMS destination 6.创建JMS producer 或者创建JMS message,并设置destination 7

log4j的1.2.15版本,在pom.xml中的顶层project报错错误: Failure to transfer javax.jms:jms:jar:1.1 from https://maven-repository.dev.java.net/nonav/repository......

在动态网站工程中,添加了Pom依赖,当添加log4j的1.2.15版本依赖时,在pom.xml中的顶层project报错错误: Failure to transfer javax.jms:jms:jar:1.1 from https://maven-repository.dev.java.net/nonav/repository......,如下图 这是因为 https://maven-repository.dev.java.net/nonav/repository 这个域名已经无法解析了. 而