Menu

#1 複数MessageHandlerへの対処

open
nobody
None
5
2008-01-26
2008-01-26
Anonymous
No

現在、同一タグ値に対し、複数の MessageHandler を
RoutingService.addMessageHandler で登録した場合、
そのタグ値のメッセージに対する返答は、最後に addMessageHandler
した MessageHandler の戻り値が使用されます。
これだと例えば、PUT されたことを検知したいから、
ow.messaging.TAG.PUT.getNumber() に addMessageHandler
したくても、既に登録されているハンドラの戻り値を潰してしまうため
登録できません。
ハンドラの戻り値が null の場合、ひとつ前に処理したハンドラの戻り値
を潰さないようにできないでしょうか?

ow.routing.impl.AbstractRoutingDriver

private class RoutingDrvMessageHandler implements MessageHandler {
public Message process(Message msg) {
//ret = handler.process(msg);
Message r = handler.process(msg);
if (null != r) {
ret = r;
}

Discussion


Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.