BlazeDs 之 MessagerService
昨天看blazeds 官方文章,发现越看自己要改的思想越多,原来blazeds主要提供了两个服务。 1,就是我们常说的RPC服务,这其中又包括http 和web service 还有就是remoting service(发现在前几天做的只是个remoting service的东西) 2,messaging service,这个还可以connect jms. ? MessagerService ??????? 现在单挑messagerService 来看官方资料怎么说的,我是先自己翻译出来的,尽量中心思想是对的。 ? ?????? Messaging Service 扩展了消息框架的核心,增加了对服务器和多flex clent 之间发布订阅的支持。flex app 用自身客户端的API把消息发给,和从那里收,一个定义在server 上的destination。所有messages 被server endpoint 处理,通过channel 传递。Messaging Service通过使用JMSAdapter也可以桥接到JMS上。Messaging让flex app 连接到SERVER上的destination,向server 发消息,从不同的messaging clients接收消息。发送到server 的messages 被server发送到订阅了相同destination的flex app. sever 也能自己把消息push 给clients.这样它会先初始一个消息,然后把它广播给一个地址, 这样所用订阅了这个地址的所有flex app 就都会收的此消息。一个很有名的例子就是一个客户端发布一条信息,经过服务器转发给所有订阅了此消息的client. ?????? client app 发送消息者我们叫它为message?producers?在flex 中用Producer component 去定义它,对应的在client app 接收消息的我们叫它message?consumers,?在flex 中用Consumer component去定义它。producer 发送消息到服务器上的指定 destination,然后consumers 订阅服务端的destination,在通常情况下,producer和consumers是互相不知道对方的。 ????? 一般一个flex app 应用都至少包括一对,producer和consumers这样它就即能向server 上destination发信息,也能接收别的producer发送到destination的消息。 ? 再说Channels ??????flex app 可以通过多个channel去获得messages,flex app 会try 用不同的channel 按照你在配置文件中定义的顺序,直到找到一个可用的,或者找完所有,结果都不可用,然后报个错。 Adapters ? ????? 有ActionScriptAdapter 和JMSAdapter两种,
Messaging Service? 的配置 ? ?? 你可以在services-config.xml配置所有的东西不过老外说,As a best practice ,你还是再分出来一个messaging-config.xml 文件吧,放adapters 和destinations。 From: http://www.voidcn.com/article/p-rmegsdvy-rm.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |