roma java client に add, cas コマンドを実装してみました

19 views
Skip to first unread message

きくもと

unread,
Feb 28, 2010, 7:19:57 PM2/28/10
to roma-user-japan
きくもとです。

お世話になります。
github の pull request で既にお知らせさせていただいたのですが、
roma の java client に、add と cas コマンドを使えるように実装して
みました。

http://github.com/kikumoto/roma-java-client/tree/master

jp.co.rakuten.rit.roma.client.RomaClient インターフェイスに

boolean add(String key, byte[] value) throws ClientException;
boolean add(String key, byte[] value, Date expiry) throws
ClientException;
Map<String, CasValue> getsWithCasID(List<String> keys) throws
ClientException;
Map<String, CasValue> getsWithCasID(List<String> keys, boolean
useThreads) throws ClientException;
CasResponse cas(String key, long casID, byte[] value) throws
ClientException;
CasResponse cas(String key, long casID, byte[] value, Date expiry)
throws ClientException;

のメソッドを追加した形となっています。
add は既存処理をほぼ流用するかたちで実装できていますが、
gets/cas については結構ベタに書いてしまいました。
特に gets は既存の gets メソッドが Map<String, byte[]>
を戻り値の型として持ってしまっているので、別メソッド名で
とりあえず定義しました。

add, cas を利用する必要があったのですが、可能であればなんらか
の形で取り込んでいただけるとありがたいです。

よろしくお願いいたします。

muga

unread,
Mar 1, 2010, 1:33:34 AM3/1/10
to roma-user-japan
きくもとさん

ご連絡ありがとうございます。西澤無我です。
Java client に機能追加いただきありがとうございます。

ソースを読ませていただきました。テストもパスしておりますので、
クライアント本体にそのままマージさせていただきました。
gets についても、今のところいただいたままマージしてます。

#gets の戻り値は、Map<String, CasValue> の方が良いです。
#どこかのタイミングで、現行の gets を、きくもとさんのそれに
#変更できればと思います。

どうもありがとうございます。

西澤無我

Takahiro Kikumoto

unread,
Mar 1, 2010, 1:52:16 AM3/1/10
to roma-us...@googlegroups.com
西澤無我さん

きくもとです。
マージありがとうございました。


2010年3月1日15:33 muga <muga.ni...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages