[Seasar-dev:77] Re: [S2JMS] S2JMS.DAO

Koichi Kobayashi koichik
2005年 7月 22日 (金) 03:12:04 JST


小林 (koichik) です.

Date:    Fri, 22 Jul 2005 01:57:55 +0900
From:    "Kenichiro Murata" <muraken720 @ msj.biglobe.ne.jp>
To:      <seasar-dev @ lists.sourceforge.jp>
Subject: [Seasar-dev:74] Re: [S2JMS] S2JMS.DAO

> > ただ、JMSの仕様を考えると、
> >
> >   正:指定時間待機
> >   0 :無制限に待機
> >   負:待機しない
> >
> > という形のほうが良いかもしれないと思ってしまいました。
> >
> > むらたさんはいかがでしょう。
> 
> JMSの仕様を踏まえて、上記の0で無制限が私は良いと思います。
> #Socketとかのコードを書いても、0を指定したら無制限に待つという感覚なの
> で。
> 
> あえて独自仕様にする必要はないと思います。

実は待機する・しないをパラメータで指定するというのがかなりの
独自仕様なんですよね.
標準 API の多くは待機しない場合に別のメソッドを用意するの普通です.
JMS だと receive() と receiveNoWait() だし,NIO の Selector でも
select() と selectNow() とか.

このようにメソッドを明確に分ける場合には 0 で無制限というのも
直感的なのですが,今回のように待機しない場合も同じメソッドで扱う場合,
無制限が 0 で待機しないのが負というのは直感的ではないように思えます.
待機しない == 待機時間 (タイムアウトするまでの待ち時間) が 0 と
解釈できるためです.ここが悩ましい.

とはいえ,待機する・しないでメソッドを分けると dicon なんかでの
指定が分かりにくくなりそうでちょっといやーん.うーみゅ...
もう少し議論しませう.


-- 
<signature>
    <name>Koichi Kobayashi</name>
    <e-mail>koichik @ improvement.jp</e-mail>
</signature>



seasar-dev メーリングリストの案内