`
elaine0111
  • 浏览: 95595 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

flex Producer(出产者)/Consumer(花费者)---转载

 
阅读更多
在Flex中,传输形式有两种(哀求/响应)以及(公布/订阅)。

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()措施吊销订阅。
分享到:
评论

相关推荐

    Kafkaphp使用纯粹的PHP编写的kafka客户端

    $producer->produce(RD_KAFKA_PARTITION_UA, 0, 'Hello, Kafka!'); $producer->poll(0); ``` - **消费者示例**: ```php $conf = new RdKafka\Conf(); // 设置消费者组 $conf->set('group.id', 'my-group');...

    springCloud全部基础的demo项目.rar

    springCloud项目基础...producer ---- feign方式调用demo项目 参考博客地址: https://blog.csdn.net/qq_33333654/article/details/102782751 consumer ---- Hystrix-dashboard 断路监控项目demo 参考博客地址: ...

    Producer/Consumer 多线程处理文件

    在这个"Producer/Consumer 多线程处理文件"的主题中,我们将深入探讨Java中的生产者消费者模型,以及如何利用这一模式来高效地处理大量数据,如一秒钟处理一千多条记录。 生产者消费者模型源于操作系统理论,是解决...

    spring-cloud使用的各种示例

    - [eureka-producer-consumer](https://github.com/ityouknow/spring-cloud-examples/tree/master/eureka-producer-consumer):利用eureka实现服务提供与调用示例 - [spring-cloud-hystrix]...

    Kafka客户端producer/consumer样例

    Kafka客户端producer/consumer样例

    Flex基于Producer和Consumer方式的简易消息推送机制

    Flex中的消息推送机制是基于Producer和Consumer模型实现的,这种机制允许应用程序实时地发送和接收消息,常用于构建聊天室、通知系统等实时交互的应用。下面将详细解释Flex消息推送的相关知识点。 1. **Producer与...

    操作系统实验模拟生产者消费者问题

    操作系统实验模拟生产者消费者问题 PROGRAM NAME: PRODUCER_CONSUMER */ /* This program simulates two processes, producer which */ /* continues to produce message and put it into a buffer */ /* ...

    kafka_2.9.2-0.8.2.1.tgz

    在producer端输入字符串并回车,查看consumer端是否显示。 分布式连通性测试 配置修改 bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic --config max.message.bytes=128000 bin/...

    嵌入式的多线程应用程序设计

    * The classic producer-consumer example. * Illustrates mutexes and conditions. * by Zou jian guo <ah_zou@tom.com> * 2003-12-22 * *************************************************/ #include #...

    kafka常用命令归纳

    bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --new-consumer --from-beginning --consumer.config config/consumer.properties ``` 这些命令提供了更高级的功能和更好的兼容...

    Python-kafka集群搭建PythonAPI调用Producer和Consumer

    在本教程中,我们将探讨如何搭建一个支持SASL(Simple Authentication and Security Layer)认证的Kafka集群,并使用Python API来创建Producer和Consumer。 ### 1. 安装Kafka 首先,我们需要在服务器上安装...

    rocketmq-all-5.1.1-bin-release.zip

    - **Broker**:消息服务器,负责接收Producer发送的消息并转发给Consumer,同时提供消息存储和检索功能。 - **Producer**:生产者,负责创建和发送消息到RocketMQ系统。 - **Consumer**:消费者,从RocketMQ系统...

    Kafka常用命令合集

    bin/kafka-producer-perf-test.sh --broker-list <broker_list> --topic <topic_name> --throughput ``` #### 5. 消费者基本操作 **5.1 消费消息** 消费消息可以通过以下命令: ```sh bin/kafka-console-...

    kafka常用的基本命令行

    - `bin/kafka-mirror-maker.sh --consumer.config consumer.properties --producer.config producer.properties --whitelist my-topic`: 创建镜像生产者,将"my-topic"的数据从一个集群复制到另一个集群。...

    kafka-2.11-2.4.1安装包以及linux(centos7)安装kafka-2.11-2.4.1详细文档

    echo "Hello, Kafka" | sudo -u kafka /usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test # 消费消息 sudo -u kafka /usr/local/kafka/bin/kafka-console-consumer.sh --...

    flume-kafka流程

    - Kafka Broker负责处理生产者发送的消息和消费者的请求,是Kafka的核心组件之一。 3. **配置Flume Agent**: - 运行命令`/usr/local/apache-flume-1.6.0/bin/flume-ng agent -c /usr/local/apache-flume-1.6.0/...

    kafka-2.12-3.6.1.tgz

    /usr/local/kafka_2.12-3.6.1/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning ``` 这将从主题的开头开始消费所有消息。 九、扩展与优化 Kafka支持集群部署,...

    producer-consumer-model:生产者-消费者模型

    生产者-消费者模型是计算机科学中的一个经典并发问题,它主要描述了两个或多个线程之间的数据共享和通信。在该模型中,"生产者"线程负责生成数据,而"消费者"线程则负责消费这些数据。这个模型在多线程编程中广泛...

    AB PLC基本常识

    使用Producer/Consumer技术. RIUP(Removal and Insertion Under Power) 3. 电源 1756-PA72/75 240VAC 10A/13A 4. Logix5000控制器1756-BA1 Keyswitch: Run, Program, Remote 5. DI/O和AI/O1756-XYNC X: I 输入 O ...

    Consumer-Producer.rar_Java Consumer_java 生产者 消费者_producer java_互

    5. **代码实现**:在`Consumer-Producer.rar`中的`Consumer-Producer`文件可能包含了具体的Java代码实现,它可能包括两个类——`Producer`和`Consumer`,分别代表生产者和消费者。每个类可能有一个无限循环来持续...

Global site tag (gtag.js) - Google Analytics