Download List

Projeto Descrição

Rhino(java)を使ったServer-side JavaScript(MaachangComet)を開発しています。

System Requirements

System requirement is not defined

Liberado: 2008-01-19 00:33
MaachangDBM b1.02 (1 files Esconder)

Release Notes

MaachangDbmとは、javaで作成されたDBM[データベースマネージャ]で Key,Value形式の
内容を永続化させます.
データ管理最大数は、4250000件(425万件)です.

MaachangDbmの利用方法について説明します.
MaachangDbmを利用するには、まず最初に、以下のように、MaachangDbmマネージャを
初期化する 必要があります.

--------------------------------------------------------------------------------
MDbmManager.getInstance().open( "directory" ) ;

--------------------------------------------------------------------------------

第一引数には、永続化内容を保持するディレクトリ名を指定します.
これで、MaachangDbmが利用可能になります.
また、MaachangDbmを操作するには、

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MDbm dbm = MDbmManager.getInstance().getMDbm() ;
dbm.put( "hoge".getBytes( "UTF8" ),"hogehoge".getBytes( "UTF8" ) ;
byte[] b = dbm.get( "hoge".getBytes( "UTF8" ) ) ;
System.out.println( new String( b,"UTF8" ) ) ;
dbm.remove( "hoge".getBytes( "UTF8" ) ) ;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

などで、利用できますが、この場合["hoge".getBytes( "UTF8" )]などと記述するのは、
面倒です.
このため、MaachangDbm操作用オブジェクトとして、別途[MDbmOp]が用意されています.
利用方法としては、以下の通りです.

--------------------------------------------------------------------------------
MDbmOp op = MDbmManager.getInstance().getMDbmOp() ;

--------------------------------------------------------------------------------

のようにMaachangDbmOpを取得します.そして、MaachangDbmOpの利用方法は、下記の
通りです.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
op.put( "hoge","moge" ) ;
String a = op.getString( "hoge" ) ;
op.remove( "hoge" ) ;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

また、MaachangDbmは、トランザクションをサポートしており、利用方法は以下のように
なります。

--------------------------------------------------------------------------------
// MDbmをトランザクションモードで取得.
MDbm dbm = MDbmManager.getInstance().getMDbm( true ) ;

// コミット.
dbm.commit() ;

// ロールバック.
dbm.rollback() ;

--------------------------------------------------------------------------------

また、2フェイスコミットなどを実施したい場合は、下記のように、commitの前に、

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// MDbmをトランザクションモードで取得.
MDbm dbm = MDbmManager.getInstance().getMDbm( true ) ;

// データ書き込み可能かチェック.
dbm.check() ;

// コミット.
dbm.commit() ;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

このようにして書き込み可能かチェックできます.

あと、いろいろ利用できますので、詳しくはJavaDocを参照してください.

Changelog

トランザクション機能を追加しました。
DBMの管理マネージャを追加しました。