This link has been bookmarked by 4 people . It was first bookmarked on 14 May 2007, by Ken Wei.
-
23 Dec 08
-
class PersistMessageProcessor < ApplicationProcessor
subscribes_to :persist_message
def on_message(message)
logger.debug "PersistMessageProcessor received: " + message
end
end -
s.queue :persist_message, '/queue/PersistMessage'
-
nclude ActiveMessaging::MessageSender
-
publish
-
-
14 May 07
-
消息处理
-
首先需要创建“处理器”,用ActiveMessaging的术语来说,就是一个支持消息目标者有序接收和处理消息的类。它在设计模型中是必不可少,相当于消息驱动的控制器,代码量也占最大比例。
-
- 下面,我们具体讨论上述各行输出结果的含义。
- app/processors:全部处理器所在目录。
- app/processors/persist_message_processor.rb:按缺省配置生成的新处理器。
- app/processors/application.rb:供新处理器继承的通用超类。它实现了一些通用功能,如错误处理。
- config/broker.yml:代理配置,指明了连接消息代理的方法。类似database.yml,但它是用于消息代理的。
- config/messaging.rb:消息传输用到的其他配置,如目的地、消息头。
- script/poller:ActiveMessaging用以监听消息的后台程序。后文对此还有说明。
-
class PersistMessageProcessor < ApplicationProcessor
subscribes_to :persist_message
def on_message(message)
logger.debug "PersistMessageProcessor received: " + message
end
end -
上述代码实现了:persist_message消息的订阅,并指定了方法on_message。当:persist_message消息到来时,ActiveMessaging将回调on_message。参数message负责按字符串格式传递消息内容;依靠@message,还可以直接访问Stomp消息对象。通过再次调用subscribes_to,处理器可以订阅更多消息
-
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.