複数MessageHandlerへの対処
Brought to you by:
shudo
現在、同一タグ値に対し、複数の 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;
}