`

flex message suptopic filter使用subtopic过滤信息

阅读更多

官方说明,看的真晕,谁有blazeds中文翻译麻烦给一份

In the Consumer component, use the subtopic property to define the subtopic that a message must be sent to for
it to be received. You can specify a literal String value for the subtopic property. Use the wildcard character (*) in
the Consumer.subtopic property to receive messages from more than one subtopic.

大概意思,你可以指定一个字面意思的subtopic属性,用通配符来接收不止一个subtopic(ru foo.*可以接收 foo.a,foo.b发布的信息);
The Messaging Service supports single-token wildcards in the subtopic String. If the wildcard character is the last
character in the String, it matches any tokens in that position or in any subsequent position.

messaging Service支持单一的一个通配符在subtopic中 如 subtopic="*"表示接收所有信息,*也不写,就什么也收不到

 For example, the
Consumer component specifies the subtopic as "foo.*". It matches the subtopics "foo.bar" and "foo.baz", and also
"foo.bar.aaa" and "foo.bar.bbb.ccc".

 

foo.*可以收到如 foo.bar foo.baz foo.bar.aaa foo.bar.bbb.ccc这样的producer指定的subtopic的信息


If the wildcard character is in any position other than the last position, it only matches a token at that position. For
example, a wildcard character in the second position matches any tokens in the second position of a subtopic value,
but it does not apply to multiple tokens. Therefore, if the Consumer component specifies the subtopic as "foo.*.baz",
it matches the subtopics "foo.bar.baz" and "foo.aaa.baz", but not "foo.bar.cookie".
To send a message from a Producer component to a destination and a subtopic, set the destination and subtopic

 

producer 指定foo.*.baz

consumer能接收到的信息有 foo.bar.baz foo.aa.baz 而foo.bar.cookie不能受到,应为不匹配


properties, and then call the send() method, as the following example shows:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
	
<mx:Script>
<![CDATA[
	import mx.messaging.channels.AMFChannel;
import mx.messaging.*;
import mx.messaging.messages.*;
import mx.messaging.events.*;
private function useSubtopic():void {
var message:AsyncMessage = new AsyncMessage();
producer.subtopic = "chat.fds.newton";
message.body=txt.text;
// Generate message.
producer.send(message);
}

//设置channelSet
private function init(){
	
				var url="http://localhost:8400/BlazedsMessage/"; //随便的以个blazeds应用
//				var myStreamingAMF:StreamingAMFChannel = new StreamingAMFChannel(url+"my-streaming-amf", url+"messagebroker/streamingamf");
				var myPollingAMF:AMFChannel = new AMFChannel(url+"my-polling-amf", url+"messagebroker/amfpolling");
				myPollingAMF.pollingEnabled = true;//轮询
				myPollingAMF.pollingInterval = 1000;//隔多长时间询问一次 1miao
				var channelSet:ChannelSet = new ChannelSet();
//				channelSet.addChannel(myStreamingAMF);
				channelSet.addChannel(myPollingAMF);
							
				producer.channelSet = channelSet;
			
}

]]>
</mx:Script>
<mx:Producer id="producer"
destination="ChatTopic"/>
	<mx:TextInput x="193" y="38" text="使用subTopic过滤消息" id="txt"/>
	<mx:Button x="230" y="85" label="send" click="useSubtopic()"/>


</mx:Application>

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="init();logon()">
<mx:Script>
<![CDATA[
	import mx.messaging.channels.AMFChannel;
import mx.messaging.*;
import mx.messaging.messages.*;
import mx.messaging.events.*;
private function messageHandler(event:MessageEvent):void {
// Handle message event.
ta.text += event.message.body + "\n";
}
private function logon():void {
consumer.subtopic = "*"; 
//不写consumer.subtopic就接收不到任何producer发送的subtopic指定的信息(producer指定了subtopic,
//consumer必须也指定subtopic才能受到信息)
//chat.fds.* 或者 chat.fds.newton都可以受到信息,可以使用通配符 c.*这样就收不到信息
consumer.subscribe();
}
private function init(){
	
				var url="http://localhost:8400/BlazedsMessage/";
//				var myStreamingAMF:StreamingAMFChannel = new StreamingAMFChannel(url+"my-streaming-amf", url+"messagebroker/streamingamf");
				var myPollingAMF:AMFChannel = new AMFChannel(url+"my-polling-amf", url+"messagebroker/amfpolling");
				myPollingAMF.pollingEnabled = true;
				myPollingAMF.pollingInterval = 1000;
				var channelSet:ChannelSet = new ChannelSet();
//				channelSet.addChannel(myStreamingAMF);
				channelSet.addChannel(myPollingAMF);
							
				consumer.channelSet = channelSet;
			
}


]]>
</mx:Script>
<mx:Consumer id="consumer"
destination="ChatTopic"
message="messageHandler(event);"/>
<mx:TextArea id="ta" width="100%" height="100%"/>
</mx:Application>

  message-config.xml官方说明

To allow subtopics for a destination, set the allow-subtopics element to true in the destination definition in the
messaging-config.xml file. The subtopic-separator element is optional and lets you change the separator
character; the default value is "." (period).
 允许一个destination指定一个subtopics  在message-config.xml重的destination设置allow-subtopics属性为true 设置分隔符 subtopic-separator 默认是 .(一个点)

<?xml version="1.0" encoding="UTF-8"?>
<service id="message-service" 
    class="flex.messaging.services.MessageService">

    <adapters>
        <adapter-definition id="actionscript" class="flex.messaging.services.messaging.adapters.ActionScriptAdapter" default="true" />
        <!-- <adapter-definition id="jms" class="flex.messaging.services.messaging.adapters.JMSAdapter"/> -->
    </adapters>

    <default-channels>
        <channel ref="my-polling-amf"/>
    </default-channels>
	<destination id="mychat">//这是我上个过滤例子用的
		
	</destination>
	<destination id="ChatTopic">
<properties>
<network>
<subscription-timeout-minutes>0</subscription-timeout-minutes>
</network>
<server>
<message-time-to-live>0</message-time-to-live>
<allow-subtopics>true</allow-subtopics>
<subtopic-separator>.</subtopic-separator>
</server>
</properties>


</destination>
</service>

 

1
0
分享到:
评论

相关推荐

    Flex Message Service 消息服务

    Flex Message Service(FMS)是一种消息服务系统,用于在Flex应用和服务器之间或不同Flex应用之间进行消息的发送和接收。FMS支持发布/订阅(Pub/Sub)模型和点到点(Point-to-Point)模型,允许应用之间进行异步通信...

    flex+blazeds+java后台消息推送(简单示例)[借鉴].pdf

    这个Servlet继承自`HttpServlet`,并使用Flex的`MessageBroker`和`AsyncMessage`类来构建和发送消息。`AsyncMessage`包含了消息的内容和目标,`MessageBroker`则负责将消息广播出去。 ```java public class ...

    Flex+java+bluzeds反向推送.docx

    BlazeDS 是 Adobe 推出的一个开源项目,它提供了与 Flex 客户端进行双向通信的能力,包括支持 AMF(Action Message Format)数据交换格式,以及反向推送服务。 反向推送的基本原理是客户端作为消息的生产者和消费者...

    (web of sicence核心集合收录)Chinese News Hot Subtopic Discovery and Re

    为评估所提方法的性能,研究者使用了一个混合的中文新闻数据集进行实验,主要关注三个方面:(1)训练模型的时间消耗,(2)困惑度(Perplexity)值,以及(3)热点子话题发现的质量。实验结果显示,该方法能有效...

    redis工具包

    根据提供的信息,“redis工具包网盘链接”似乎是指一个包含了一系列与Redis相关的工具和资源的包。虽然没有具体的信息关于这个工具包的内容,但我们可以推测它可能包括以下几种类型的资源: 1. **Redis客户端库**:...

    Semantic composition of distributed representations for query subtopic mining

    - **评估指标**:使用了标准的信息检索评价指标,如准确率(Precision)、召回率(Recall)和F1分数等。 **实验证明**,相比传统的方法,采用分布式表示及其语义组合策略在查询子主题挖掘任务中表现出显著的优势。...

    青春绿色简约PPT模板.pptx

    "Subtitle"和"Topic"、"Subtopic"是构建内容层次的重要部分,帮助观众理解信息的逻辑。 3. **内容呈现**:每一页PPT应专注于一个主要观点或概念,避免信息过载。使用图表、图像和列表来增强理解,但确保它们与内容...

    Blazeds向客户端推送数据.

    `allow-subtopics`和`subtopic-separator`允许使用子主题来组织数据,子主题通过指定的分隔符(默认为".")进行区分。`channels`元素指定客户端应通过哪些通道接收数据,这里有两个通道引用,首选`my-streaming-amf`...

    加拿大国旗PPT模板免费下载.ppt

    7. **图表与图示**:如果在讲解数据或概念,可以使用图表、图形或流程图来直观地传达信息。 8. **结尾页**:结束时包含总结和联系方式,以便观众有问题时能联系到你。 9. **模板定制**:虽然这是一个免费模板,但...

    国家安全商务Powerpoint模板PPT模板.ppt

    例如,“YOUR TOPIC GOES HERE”和“Your subtopic goes here”是预留位置,用于添加具体的主题和子主题。 3. **过渡页**(Transitional Page):在演示文稿中,过渡页用于平滑地引导观众从一个话题转向另一个。...

    蓝色图案ppt模板.ppt

    "Your Topic Goes Here" 和 "Your subtopic goes here" 是提醒用户输入主题和子主题的地方。在制作PPT时,确保每个幻灯片都有清晰的主题和子主题,有助于组织信息并保持观众的专注。主题应该简洁明了,概括整个幻灯...

    抽象红色背景PPT模板.ppt

    在信息技术领域,PPT(PowerPoint)作为一款广泛使用的演示文稿制作软件,是专业人士和非专业人士展示观点、汇报工作、教学培训等场景的重要工具。"抽象红色背景PPT模板"是其中一种设计风格,它以红色为主色调,结合...

    思维导图三步走

    【思维导图三步走】的描述中提到,思维导图是一种广泛应用的知识可视化工具,能有效地组织和呈现信息。本文将通过使用MindManager软件,介绍如何绘制简单的思维导图。以下是详细步骤: 1. **理解基本概念**: - **...

    卡通背景PPT模板 (5).ppt

    在“Your Topic Goes Here”和“Your subtopic goes here”处,我们可以根据实际内容进行定制,确保信息层次清晰,逻辑连贯。标题应简洁明了,子标题则可以提供更具体的细节。在过渡页面上,使用一致的卡通风格,...

    正义与邪恶宗教神话PPT模板.ppt

    4. **PowerPoint动画和过渡效果**:虽然未在提供的信息中提及,但在实际的PPT演示中,动画和过渡效果可以增加动态感,但要适度使用,过度的动画可能会干扰信息的传达。 5. **内容组织**:有效的PPT应有明确的结构,...

    apache sunset ppt模板.ppt

    如“Your Topic Goes Here”和“Your Subtopic Goes Here”提示,表明应根据逻辑结构组织信息,避免内容过于杂乱。 3. **图像使用**:使用合适的图像可以增强观众的理解,比如Backdrops用于全屏展示,标题、滑块和...

    红色背影卡通小猫PPT模板下载.ppt

    标签为空,部分内容提到了“Circular Hypnotic Kitty”以及一些PPT的结构元素,如“Subtitle”,“Topic”,“Subtopic”和“Transitional Page”。这些信息不足以生成超过1000字的IT专业知识。 然而,我可以根据...

    科技背景ppt模板 (12).ppt

    2. **设计主题和子主题:**"Your Topic Goes Here" 和 "Your subtopic goes here" 是提示你输入主要内容的地方。根据你的报告或演讲主题,定制符合科技领域的标题和子标题,例如“人工智能的发展”和“深度学习的...

    C语言调用阿里云消息队列.doc

    本文将详细介绍阿里云消息队列MQTT协议的调用Paho C接口,包括MQTT协议的简介、资源类、Parent Topic、Subtopic、Client ID、Username、Password、ServerUrl、QoS、cleanSession等概念的解释,并结合实际开发中遇到...

    the_fine_printPPT模板.ppt

    例如,"Your Topic Goes Here" 和 "Your subtopic goes here" 表示预留的标题和子标题区域,使用者可以根据实际内容进行填充。此外,"Transitional Page" 是过渡页,通常用于平滑地引导观众从一个话题过渡到另一个。...

Global site tag (gtag.js) - Google Analytics