2008-01-01から1年間の記事一覧

ofcache-0.1 Released

Hibernate用2次キャッシュプロバイダ実装の、開発者向けイテレーションリリース*1の最初の版をリリースしました。 http://sourceforge.jp/projects/domaingen/files/ まぁ、開発者向けリリースなんてする必要なさそうな気もするんですが、開発にメリハリを…

製品採用の時期を見計らう

主に、ライブラリ、フレームワーク、ミドルウェア等の製品を採用する時期についての、おいらの場合についてのメモです。 勃興期と淘汰期 おいら的には、あるカテゴリのプロダクトを選択するにあたって、勃興の時期と淘汰の時期を見計らうようにしています。…

Hibernate Core 3.3.0 goes GA

Hibernate3.3 出ましたね。 Hibernate Core 3.3.0 goes GAartifact が central には上がらなくなってしまったようですね。jboss のリポジトリにおいてあるようです。 http://repository.jboss.org/maven2/org/hibernate/ キャッシュの設計が大幅に変更され,…

Hibernateのキャッシュについて考えてみる(その6)

前回は ReadOnlyCache について掘り下げてみました。今回は ReadWriteCache について掘り下げてみたいと思います。 マニュアル曰く If the application needs to update data, a read-write cache might be appropriate. This cache strategy should never b…

Hibernateのキャッシュについて考えてみる(その5)

前回は Cache Concurrency Strategy を全体的に扱いました。今回からは各 Cache Concurrency Strategy のそれぞれを個別にフォーカスしていこう思います。今回は、ReadOnlyCache について掘り下げてみようと思います。 マニュアル曰く If your application n…

Hibernateのキャッシュについて考えてみる(その4)

前回はキャッシュ並列性戦略の概要を確認してみました。今回は CacheConcurrencyStrategy インタフェースにフォーカスしてみようと思います。 インタフェース説明 Implementors manage transactional access to cached data. Transactions pass in a timesta…

Hibernateのキャッシュについて考えてみる(その3)

前回は、キャッシュ関連の分類と、キャッシュプロバイダ実装側の対応について考えてみました。分類にもいろいろあり、実装にもいろいろあって、一気にすべて理解するのは難しそうです。ということで、今回は Cache Concurrency Strategy の概要を確認してみ…

Hibernateのキャッシュについて考えてみる(その2)

前回は、Hiberanteの2次キャッシュを、単純に技術的に適用して動かすだけなら簡単だけど、適切に設計して実案件に取り込むのはハードルが高そうだねぇという話でした。今回は、キャッシュ関連の分類と、キャッシュプロバイダ実装側の対応について考えてみよ…

Hibernateのキャッシュについて考えてみる

Hibernate では2次キャッシュ(query cache と collection cache 含む)を提供していますが、キャッシュプロバイダ実装の選定とか、実案件への適用ポリシー等についてはユーザーにお任せですよね。自由度が高いというメリットはあるけど、自由を持て余してしま…

JBoss Cache 3.0.0 Alpha 出ましたね

http://jbosscache.blogspot.com/2008/07/mvcc-has-landed.html

Atomikos TransactionsEssentials で JTA (XA with MySQL編その4)

前回(Atomikos TransactionsEssentials で JTA (XA with MySQL編その3)) では、 MySQL では XA START xid JOIN は未サポートという事実が判明しました。 今回は、「なんかワークアラウンドないかな〜」的なコンセプトでぬるく攻めてみようと思います。 At…

Atomikos TransactionsEssentials で JTA (XA with MySQL編その3)

XA START xid JOIN は未サポート 前回(Atomikos TransactionsEssentials で JTA (XA with MySQL編その2))は XA START xid JOIN にて以下のようなエラーが発生しました。 mysql> XA START 0x636f6d2e61746f6d696b6f732e737072696e672e6a6462632e746d303030…

Atomikos TransactionsEssentials で JTA (XA with MySQL編その2)

EntityManager#persist()を2回連続で呼び出してみた。 前回は、JPA で複数のデータソースに対して persist() できました。 さて、今度は、EntityManager#persist() を、同一のEntityManager に対して2回連続で呼び出してみることにします。 ソースはこんな…

ThinkPad T61p を衝動的に発注してしまいました。

深夜に携帯メールで起こされ、朝までリモート作業をしていたのが原因かもしれませんw 発注したのは、以下の製品です。 ThinkPad T61p 6459EAJ Kingston KVR667D2S5/2G(SODIMM DDR2 PC2-5300 2GB) ThinkPad T61p 6459EAJ T61p 6459A25 というのが直販サイト…

Atomikos TransactionsEssentials で JTA (XA with MySQL編)

前回の Atomikos TransactionsEssentials で JTA (Spring + JDBC 編) では、普通に UserTransaction を使ってみたところ、特に問題なく動作しました。 しかし、JPA を使い始めると、どうも動作がおかしい。 null source まずは、以下のエラー。 Exception in…

Apache Wicket 1.3.4 is released!

出ましたねー。 http://wicket.apache.org/

Eclipse Ganymede

出てたんですねー。 (`・ω・´) http://www.eclipse.org/downloads/

High Performance MySQL, Second Edition

第二版出てますね。 High Performance MySQL, Second Edition Amazon.co.jp では予約受付中のようです。

xbean-springでSpringFrameworkのbeanを JNDIで公開する

フル J2EE コンテナを使わずに SpringFramework だけ利用する場合って、 JNDI を前提にされると結構めんどくさいことがありますよね。 たとえば、UserTransaction を JNDI 経由で取得するのが前提の場合とか。 そんなとき、xbean-spring の SpringInitialCon…

Atomikos TransactionsEssentials で JTA (Spring + JDBC 編)

TransactionsEssentials は、Atomikos のフリーの JTA 実装です。 とりあえずインストールしてみた。 サイトからダウンロードして、dist フォルダから必要な jar ファイルを選び、クラスパスに通します。 とりあえず、以下の jar があれば、最低限の JDBC 操…

ノンフィクションの図書館戦争が読めるかも

小中学生の携帯電話禁止 自民有志、議員立法めざす この問題では、福田首相が「有害情報の心配をした方がいい」と記者団に指摘した。 情報を、無害と有害に分けますか。 国家権力自らが有害情報を定義しメディアに規制をかけますか。 首相が検閲を推奨ですか…

Spring+HibernateEntityManager(コンポーネント自動検出 without アノテーション編)

前回のおさらい 前回は、@Component アノテーション、@Scope アノテーション、context:component-scan 要素を用いて、Entity のパッケージ以下の各クラスを bean として自動登録しました。その実際の記述は以下のようになります。 @Component("user") @Scope…

Spring+HibernateEntityManager(コンポーネント自動検出 with アノテーション編)

SpringFramework2.5から、クラスパスを走査し、アノテーションの付加されたコンポーネントを自動検出する機能がサポートされています。典型的には、@Component, @Repository, @Service, @Controller 等のステレオタイプでアノテートされたコンポーネントクラ…

Spring+HibernateEntityManager(@Resource編)

今回は、前回の続きです。 @Resource アノテーションとは? @Resource アノテーションは、クラス、メソッド、フィールドに対して指定可能なアノテーションで、リソースへの参照を宣言するためのものです。JSR 250: Common Annotations for the JavaTM Platfo…

こんなソースに出会った。

こんなソースに出会った。 他組織のドメイン名のパッケージを勝手に名乗っている。 あまつさえ、オリジナルに存在しないパッケージを追加している。 オリジナルのバグフィックスや拡張性の都合ってわけでもない。 ...。 お願いだから、保守する身にもなっ…

Spring+HibernateEntityManager(DBCPのvalidationQuery編)

今回は、Spring+HibernateEntityManager(AspectJ AOP with Load-Time-Weaver編)の続きです。 コネクションタイムアウトのハンドリング忘れてた(^^; 以前、beans.xml に DBCP の設定は行いましたが、コネクションタイムアウト対策を忘れていました。おいら…

Spring+HibernateEntityManager(AspectJ AOP with Load-Time-Weaver編)

今回は、Spring+HibernateEntityManager(@Required編)の続きです。 トランザクションがかからない!? 現在は、ServiceImpl#registerUser(User) メソッドに、@Transactional アノテーションを用いてトランザクションをかけています。 @Transactional publ…

OSCacheの並列性バグ

OSCache-2.4.1 にて、同一キーに対して並列に複数の操作を行い、ある条件を満たすとバグります。 例外は、 Exception in thread "Thread-2" java.lang.IllegalStateException: Cannot complete cache update - current state (2) is not UPDATE_IN_PROGRESS…

log4j の NDC って使えるかも

Web 系のアプリとか、単一のユーザーオペレーションをスレッドに結びつけるようなアプリの場合、log4j の NDC って使えるかも。ユーザーIDのような情報とか表示させると、ログ解析が楽になるかな?まだドキュメントちゃんと読んでないので、正しい使い方かど…

Spring+HibernateEntityManager(XMLからの外部リソース参照編)

SpringFramework や Hibernate の定義ファイルには、スキーマの定義等、外部の URL を参照すると思しき箇所があります。本番環境では、外部への HTTP 接続が不可能な場合や、ネットワーク障害で外部にアクセスできなくなったりする可能性がありますので、そ…