[Seasar-user:7452] Re: Seasar2.4.13 rc1 リリース

小林隆司 [E-MAIL ADDRESS DELETED]
2007年 4月 26日 (木) 15:20:57 JST


お世話になっております。小林です。

さっそくDBセッションレプリケーション機能を使わせて頂こうと思ったのですが、DB2ではテーブルの定義をどのように行ったら良いでしょうか。

DB2(バージョン8.2)では長いバイナリを格納するにはBLOBを使う方法しかなさそうなので、
 CREATE TABLE S2SESSION(
  SESSION_ID VARCHAR(255) NOT NULL,
  NAME VARCHAR(255) NOT NULL,
  VALUE BLOB(10485760),
  LAST_ACCESS TIMESTAMP,
  PRIMARY KEY(SESSION_ID,NAME))
というテーブルを作成したところ、DbSessionStateのgetAttributeメソッド内の
byte[] binary = (byte[])binaryData.get(name);
でClassCastExceptionが発生してしまいます。

BLOBにしてしまうと、binaryData.get(name)で返されるオブジェクトがcom.ibm.db2.jcc.b.bcというクラスになるため、これがbyte[]に変換できないのが原因だと思うのですが、なにか回避方法などはありますでしょうか。



Seasar-user メーリングリストの案内