- 浏览: 547727 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (740)
- css (4)
- jquery (8)
- javascript (23)
- html (0)
- uml (0)
- 设计模式 (1)
- 开发工具 (14)
- json (4)
- struts 1.x (3)
- spring (3)
- hibernate (6)
- struts 2.x (17)
- JFreechart (0)
- j2se (48)
- jsp (9)
- flex (22)
- 找工作 (1)
- 技术杂谈 (18)
- 网络编程 (5)
- io流 (1)
- ORACLE (15)
- 报表 (3)
- extjs (11)
- jpbm (2)
- swing (5)
- jspereports (3)
- sql (1)
- linux (15)
- ps (1)
- storm (4)
- hbase (8)
- li (0)
- python (1)
- hive (3)
- 机器学习 (1)
- hdfs (1)
- elasticsearch (1)
- hadoop 2.2 (5)
- hadoop (1)
最新评论
-
Tristan_S:
这个有点意思
ASM -
starryskydog:
程序修改detail band部分的样式 如内容字体大小 ...
使用jasperReport实现动态表头 -
samwong:
Good, so usefule
使用YUI Compressor压缩CSS/JS -
gc715409742:
能够告诉我怎么在web项目中使用YUI Compressor? ...
使用YUI Compressor压缩CSS/JS -
JsonTeye:
您好! 我看你的代码,我现在也在做动态报表,实现功能由用户自己 ...
使用jasperreport动态生成pdf,excel,html
blazeds学习笔记四Producer Consumer讲解
在blazeds学习笔记三 Message service里面讲了message service是使用的发布/订阅传输模式
Producer(生产者)/Consumer(消费者),Producer和Consumer使用Messaging的方式通信,显而易见是运用 发布/订阅机制。Producer用来发布消息,Consumer用来订阅消。例如:客户端向服务器订阅消息,当服务器消息发生变化后,订阅了该消息的客 户端会获得更新后的消息并且即时更新。因此可以这一特点做出很多具有实时交互需求的应用程序,如聊天室、IM、会议室、在线股票等等…
消息发布组件–Producer
常用属性:
1.id–Producer实例名。
2.destination–消息服务的目标。该值应与messaging-config.xml文件中的目标条目匹配。
3.channelSet–提供对配置给Producer的消息通道类的访问。
4.autoConnect–如果为 true,则Producer将在第一次调用 send() 方法时自动连接到其目标。如果为 false,必须显式调用 connect() 方法才能建立与目标的连接。默认情况下,此属性为 true,但需要在脱机模式下操作的应用程序可能将此属性设置为 false, 以防止 send() 方法隐式连接。
5.connected–只读属性。指示Producer当前是否已通过其ChannelSet连接到了其目标。
6.reconnectAttempts–在失去与目标的连接、或者连接到的目标关闭的情况下进行的重新连接尝试次数。
7.reconnectInterval–重新尝试连接之间间隔的毫秒数。
8.requestTimeout–设定对已发送消息的请求超时(单位:秒)时间。如果在达到超时之前未从远程目标收到确认、响应或错误,则消息将在 客户端报错。
9.subtopic–使用的远程目标的子主题(subtopic)的访问。
常用方法:
1.connect():void--将Producer 连接到其目的目标。建立连接时,connected 属性将更改为 true。
2.disconnect():void--断开Producer与其远程目标之间的连接。此方法不会等待未完成的网络操作完成。调用 disconnect() 方法后,Producer报告其未连接,并且不会收到任何未完成的消息确认或错误。如果正在尝试重新连接,断开连接会停止自动重新连接的尝试。
3.send(message:IMessage):void--向其目标发送指定的消息。如果使用Producer发布/订阅消息传 递,则除非使用自定义消息类型,并且服务器上的消息目标已配置为处理自定义消息类型,否则只可以发送 AsyncMessage 类型的消息。
常用事件:
1.fault–发生消息错误时调度fault事件。
2.acknowledge–收到已发送消息的确认结果时由MessageResponder调度。
3.channelConnect–与通道建立连接时调度。
4.channelDisconnect–与通道断开连接时调度。
5.channelFault–使用的通道出现错误时调度。
Producer与disconnect所指的目标建立连接后connected属性将会被设置为true,Producer每次调用public function send(message:IMessage):void方法发送消息前都会自动的去检测connected属性。Producer使用send()方法 发送一条消息后,发送成功会自动调度acknowledge事件,发送失败则会自动调度fault事件,我们可以在事件侦听方法中做相应处理。如果 client端与severs端因某种原因失去了连接,Producer则会根据reconnectAttempts和 reconnectInterval的设置自动尝试连接服务器。若reconnectAttempts设置为-1,Producer则会无限制的尝试重新 连接服务器;若reconnectAttempts设置为0则不尝试任何重新连接服务器的操作。
消息订阅和接收组件–Consumer
常用属性:
1.id–Consumer实例名。
2.destination–消息服务的目标。该值应与messaging-config.xml文件中的目标条目匹配。
3.channelSet–提供对配置给Consumer的消息通道类的访问。
4.connected–只读属性。指示Consumer当前是否已通过其ChannelSet连接到了其目标。
5.subscribed–只读属性。指示Consumer当前是否处于订阅状态。
6.reconnectAttempts–在失去与目标的连接、或者连接到的目标关闭的情况下进行的重新连接尝试次数。
7.reconnectInterval–重新尝试连接之间间隔的毫秒数。
8.requestTimeout–设定对已发送消息的请求超时(单位:秒)时间。如果在达到超时之前未从远程目标收到确认、响应或错误,则消息将在 客户端报错。
9.subtopic–使用的远程目标的子主题(subtopic)的访问。
10.selector–字符串类型。Consumer的选择器。
常用方法:
1.subscribe(clientId:String = null):void –订阅远程目标。
2.unsubscribe(preserveDurable:Boolean = false):void–从远程目标取消订阅。对于持久JMS subscriptions,这将破坏 JMS 服务器上的持久订阅。
3.receive()–请求在服务器上为此Consumer排队的所有消息。应仅对通过非实时、非轮询通道订阅的Consumer使用此方法。如果 未订阅 Consumer,此方法为无操作。
4.disconnect()–断开Consumer与其远程目标之间的连接。应在取消订阅后应用程序不再需要的Consumer上调用此方法。此方 法不会等待未完成的网络操作完成,也不会向服务器发送取消订阅消息。调用disconnect()后,Consumer将报告它处于断开连接的取消订阅状 态,因为它在重新建立连接和重新订阅之前不会接收任何其它消息。如果正在尝试重新订阅,断开连接会停止自动重新订阅的尝试。
常用事件:
1.message–Consumer接收到消息时调度。
2.fault–发生消息错误时调度fault事件。
3.channelConnect–与通道建立连接时调度。
4.channelDisconnect–与通道断开连接时调度。
5.channelFault–使用的通道出现错误时调度。
Consumer与disconnect所指的目标建立连接后connected属性将会被设置为true,使用其 subscribe()方法成功订阅消息后subscribed属性也会被设置为true。当消息被发送到客户端,Consumer会自动调 度message事件,我们可以在message事件侦听方法中做相应处理。如果client端与severs端因某种原因失去了连 接,Producer则会根据reconnectAttempts和reconnectInterval的设置自动尝试连接服务器。若 reconnectAttempts设置为-1,Producer则会无限制的尝试重新连接服务器;若reconnectAttempts设置为0则不尝 试任何重新连接服务器的操作。Consumer使用其unsubscribe()方法注销订阅。
.
在blazeds学习笔记三 Message service里面讲了message service是使用的发布/订阅传输模式
Producer(生产者)/Consumer(消费者),Producer和Consumer使用Messaging的方式通信,显而易见是运用 发布/订阅机制。Producer用来发布消息,Consumer用来订阅消。例如:客户端向服务器订阅消息,当服务器消息发生变化后,订阅了该消息的客 户端会获得更新后的消息并且即时更新。因此可以这一特点做出很多具有实时交互需求的应用程序,如聊天室、IM、会议室、在线股票等等…
消息发布组件–Producer
常用属性:
1.id–Producer实例名。
2.destination–消息服务的目标。该值应与messaging-config.xml文件中的目标条目匹配。
3.channelSet–提供对配置给Producer的消息通道类的访问。
4.autoConnect–如果为 true,则Producer将在第一次调用 send() 方法时自动连接到其目标。如果为 false,必须显式调用 connect() 方法才能建立与目标的连接。默认情况下,此属性为 true,但需要在脱机模式下操作的应用程序可能将此属性设置为 false, 以防止 send() 方法隐式连接。
5.connected–只读属性。指示Producer当前是否已通过其ChannelSet连接到了其目标。
6.reconnectAttempts–在失去与目标的连接、或者连接到的目标关闭的情况下进行的重新连接尝试次数。
7.reconnectInterval–重新尝试连接之间间隔的毫秒数。
8.requestTimeout–设定对已发送消息的请求超时(单位:秒)时间。如果在达到超时之前未从远程目标收到确认、响应或错误,则消息将在 客户端报错。
9.subtopic–使用的远程目标的子主题(subtopic)的访问。
常用方法:
1.connect():void--将Producer 连接到其目的目标。建立连接时,connected 属性将更改为 true。
2.disconnect():void--断开Producer与其远程目标之间的连接。此方法不会等待未完成的网络操作完成。调用 disconnect() 方法后,Producer报告其未连接,并且不会收到任何未完成的消息确认或错误。如果正在尝试重新连接,断开连接会停止自动重新连接的尝试。
3.send(message:IMessage):void--向其目标发送指定的消息。如果使用Producer发布/订阅消息传 递,则除非使用自定义消息类型,并且服务器上的消息目标已配置为处理自定义消息类型,否则只可以发送 AsyncMessage 类型的消息。
常用事件:
1.fault–发生消息错误时调度fault事件。
2.acknowledge–收到已发送消息的确认结果时由MessageResponder调度。
3.channelConnect–与通道建立连接时调度。
4.channelDisconnect–与通道断开连接时调度。
5.channelFault–使用的通道出现错误时调度。
Producer与disconnect所指的目标建立连接后connected属性将会被设置为true,Producer每次调用public function send(message:IMessage):void方法发送消息前都会自动的去检测connected属性。Producer使用send()方法 发送一条消息后,发送成功会自动调度acknowledge事件,发送失败则会自动调度fault事件,我们可以在事件侦听方法中做相应处理。如果 client端与severs端因某种原因失去了连接,Producer则会根据reconnectAttempts和 reconnectInterval的设置自动尝试连接服务器。若reconnectAttempts设置为-1,Producer则会无限制的尝试重新 连接服务器;若reconnectAttempts设置为0则不尝试任何重新连接服务器的操作。
消息订阅和接收组件–Consumer
常用属性:
1.id–Consumer实例名。
2.destination–消息服务的目标。该值应与messaging-config.xml文件中的目标条目匹配。
3.channelSet–提供对配置给Consumer的消息通道类的访问。
4.connected–只读属性。指示Consumer当前是否已通过其ChannelSet连接到了其目标。
5.subscribed–只读属性。指示Consumer当前是否处于订阅状态。
6.reconnectAttempts–在失去与目标的连接、或者连接到的目标关闭的情况下进行的重新连接尝试次数。
7.reconnectInterval–重新尝试连接之间间隔的毫秒数。
8.requestTimeout–设定对已发送消息的请求超时(单位:秒)时间。如果在达到超时之前未从远程目标收到确认、响应或错误,则消息将在 客户端报错。
9.subtopic–使用的远程目标的子主题(subtopic)的访问。
10.selector–字符串类型。Consumer的选择器。
常用方法:
1.subscribe(clientId:String = null):void –订阅远程目标。
2.unsubscribe(preserveDurable:Boolean = false):void–从远程目标取消订阅。对于持久JMS subscriptions,这将破坏 JMS 服务器上的持久订阅。
3.receive()–请求在服务器上为此Consumer排队的所有消息。应仅对通过非实时、非轮询通道订阅的Consumer使用此方法。如果 未订阅 Consumer,此方法为无操作。
4.disconnect()–断开Consumer与其远程目标之间的连接。应在取消订阅后应用程序不再需要的Consumer上调用此方法。此方 法不会等待未完成的网络操作完成,也不会向服务器发送取消订阅消息。调用disconnect()后,Consumer将报告它处于断开连接的取消订阅状 态,因为它在重新建立连接和重新订阅之前不会接收任何其它消息。如果正在尝试重新订阅,断开连接会停止自动重新订阅的尝试。
常用事件:
1.message–Consumer接收到消息时调度。
2.fault–发生消息错误时调度fault事件。
3.channelConnect–与通道建立连接时调度。
4.channelDisconnect–与通道断开连接时调度。
5.channelFault–使用的通道出现错误时调度。
Consumer与disconnect所指的目标建立连接后connected属性将会被设置为true,使用其 subscribe()方法成功订阅消息后subscribed属性也会被设置为true。当消息被发送到客户端,Consumer会自动调 度message事件,我们可以在message事件侦听方法中做相应处理。如果client端与severs端因某种原因失去了连 接,Producer则会根据reconnectAttempts和reconnectInterval的设置自动尝试连接服务器。若 reconnectAttempts设置为-1,Producer则会无限制的尝试重新连接服务器;若reconnectAttempts设置为0则不尝 试任何重新连接服务器的操作。Consumer使用其unsubscribe()方法注销订阅。
.
发表评论
-
(原创)flex(AIR)远程文件下载实例(高级版)
2012-01-12 23:36 1128<?xml version="1.0 ... -
关于Flex安全沙箱问题的解决
2012-01-12 11:10 1013关于Flex安全沙箱问题的解决 前些天做了一个 ... -
flex as自定义组件
2012-01-10 10:20 1194Flex 3入门教程: 在Act ... -
flex上传和下载文件
2012-01-09 15:45 1134FileIO 示例说明了在 Flash Player 中执 ... -
flex通信篇——flash与js
2012-01-08 16:14 1444Flex与JS交互推荐用ExternalInterface,它 ... -
[心得教程] Flex与 JS 交互通信方法
2012-01-08 16:07 1386心得教程类型: navigateToURL( ... -
Flex中的文件上传与下载
2012-01-08 14:01 1299和传统的JSP一样,在 ... -
FileReference+HttpHandler实现文件上传/下载
2012-01-08 13:25 1238在Flex的应用开发中,同ASP.NET,JSP ... -
Flex保存文件 FileReference.save(data,filename)
2012-01-08 13:14 2467一、save() 方法简介save()这个方 ... -
关于flex 4的新数据类型中英文对照
2010-08-31 08:34 965Flex 4 new data type:ArrayList ... -
Flex程序与html通信方法大全
2010-08-29 09:30 1073Flex通常作为一个web项目的一部分嵌入到一个web页中,因 ... -
flex图文混排
2010-08-29 09:29 2812由于我们项目需要在flex中实现图文混排的效果,在实现的过程中 ... -
mx:Module mx:XML mx:XMLList mx:XMLListCollection mx:Array mx:ArrayCollection比较
2010-08-23 08:38 984mx:Module 是模块化,好处是,预先不加载,用的时候才加 ... -
flex学习资料
2010-08-19 15:45 1022flex动态效果演示: http://www.efflex.o ... -
使用BlazeDS Java的数据对应表
2010-08-19 12:15 923使用BlazeDS Java的数据对应表 从Action ... -
通道端点配置1
2010-08-19 12:14 997通道端点配置 选择端点 BlazeDS提供了下列 ... -
blazeds学习笔记一整体认识
2010-08-19 12:13 1505blazeds学习笔记一整体认识 BlazeDS是一组服 ... -
后台主动推数据
2010-08-19 12:08 1219后台主动推数据 view sourceprint?1 Asyn ... -
Producer Consumer实例
2010-08-19 11:47 1300Producer Consumer实例 在上一篇文章(blaz ... -
blazeds学习笔记
2010-08-19 11:39 1083blazeds学习笔记三Message?s ...
相关推荐
RocketMQ源码分析,分为存储篇、NameServer篇、Broker篇、Producer篇、Consumer篇五大部分进行源码级的讲解。大致如下: 1、讲解commitlog、consumequeue、index、transaction文件等数据结构、数据读写、HA高可用等...
在 `kafka-producer-consumer-master` 文件夹中,可能包含了这些功能的源代码,包括生产者类、消费者类以及 Avro schema 定义。通过查看源代码,我们可以学习如何在实际项目中集成 Kafka 生产者和消费者,以及如何...
RocketMQ采用主从架构,主要包括NameServer、Producer、Consumer和Broker四个关键组件。NameServer是服务注册与发现的中心节点,Producer负责生产消息,Consumer处理消费,而Broker则是存储消息的实际服务器。 二、...
4. **生产者消费者模式**:这是一个经典的多线程问题,通过生产者(Producer)和消费者(Consumer)模型来解决资源的生产和消费问题。 - **生产者**:负责生产数据并将其放入缓冲区。 - **消费者**:负责从缓冲区...
在这个例子中,`consumer`线程从队列中取出任务并处理,而`producer`线程则将任务放入队列。`task_done()`和`join()`方法确保了所有任务都被正确处理且线程安全。 `Reptile`可能是爬虫项目的名字,爬虫通常涉及多...
以ActiveMQ为例,我们需要配置并启动ActiveMQ服务器,然后在代码中创建ConnectionFactory、Connection、Session、Producer和Consumer。生产者通过Session创建并发送消息到指定的Destination(Queue或Topic),消费...
其特点包括模块化、可扩展的结构、小型PLC尺寸、高性能无源多主总线、背板通讯采用生产者/消费者模式(PRODUCER/CONSUMER模式)、无槽位限制、支持框架内多处理器同时运行、支持带电插拔模块(RIUP)、软件组态可以...
RocketMQ主要包含四个核心组件:NameServer、Broker、Producer和Consumer。NameServer是服务注册与发现的中心,Broker负责消息的存储和投递,Producer发送消息,而Consumer接收消息。 二、 安装Java环境 RocketMQ...
源码中包含了RocketMQ的所有组件和服务,包括NameServer、Broker、Producer、Consumer以及各种工具类和配置文件。下面将主要围绕以下几个关键组件进行讲解: 1. **NameServer**:NameServer是RocketMQ的核心组件之...
首先,OpenJMS的核心组件包括消息代理(Message Broker)、生产者(Producer)、消费者(Consumer)以及消息(Message)。在OpenJMS中,生产者负责创建并发送消息,消费者则接收并处理这些消息。消息代理作为中介,...
【大数据组件Kafka讲解】 Kafka是Apache软件基金会的一个开源流处理平台,由LinkedIn开发并捐献给Apache。它最初的设计目标是作为一个高吞吐量、分布式的消息发布与订阅系统,现在已经成为大数据领域不可或缺的一...
2. **RocketMQ概念解析**:RocketMQ的核心概念包括Producer(生产者)、Consumer(消费者)、Message(消息)、Topic(主题)、Queue(队列)等。Producer负责发送消息,Consumer负责接收消息,Message是传输的对象...
该库允许开发者使用C#与Kafka进行通信,支持生产者(Producer)和消费者(Consumer)模式。可以通过NuGet包管理器安装`KafkaNet`包。 在C#项目中,创建消息发布者(Producer)类,主要涉及以下步骤: 1. 初始化...
- **发布/订阅模式**:Kafka 的核心功能之一,它支持发布者(Producer)和订阅者(Consumer)之间的消息传递机制。发布者并不直接与订阅者交互,而是通过中间件(Broker)来进行消息的传递。 - **Kafka集群架构**: ...
1. **客户端程序**:通常是一个基于Flex或AIR的应用程序,这些应用通过特定的Flex组件(如`RemoteObject`, `HTTPService`, `WebService`, `Producer` 和 `Consumer`)与BlazeDS服务器通信。除了Flex或AIR之外,也...
它主要包含四个组件:NameServer、Producer、Consumer和Broker。NameServer是服务发现和路由管理的角色,Producer负责生产消息,Consumer消费消息,而Broker则是存储消息的服务器。 搭建RocketMQ单机环境的步骤如下...
本课程围绕RocketMQ在订单实战中的应用,详细讲解了RocketMQ的核心特性,包括Producer的事务消息机制、Consumer的重试策略、Push和Pull模式以及配置参数详解。 1. **Producer的事务消息机制**: 在012-012_...
6006_RocketMQ_控制台使用讲解 7007_RocketMQ_Broker配置文件详解 8008_RocketMQ_helloworld示例讲解 9009_RocketMQ_整体架构概述详解 10010_RocketMQ_Producer_API详解 11011_RocketMQ_Producer_顺序消费机制详解 ...
书中会详细讲解RocketMQ的架构设计,包括NameServer、Broker、Producer和Consumer等关键角色。NameServer是一个轻量级的服务发现组件,负责管理Broker的元数据;Broker是实际存储消息的地方,处理Producer的发布请求...