2008-01-01から1年間の記事一覧
Hibernate用2次キャッシュプロバイダ実装の、開発者向けイテレーションリリース*1の最初の版をリリースしました。 http://sourceforge.jp/projects/domaingen/files/ まぁ、開発者向けリリースなんてする必要なさそうな気もするんですが、開発にメリハリを…
主に、ライブラリ、フレームワーク、ミドルウェア等の製品を採用する時期についての、おいらの場合についてのメモです。 勃興期と淘汰期 おいら的には、あるカテゴリのプロダクトを選択するにあたって、勃興の時期と淘汰の時期を見計らうようにしています。…
Hibernate3.3 出ましたね。 Hibernate Core 3.3.0 goes GAartifact が central には上がらなくなってしまったようですね。jboss のリポジトリにおいてあるようです。 http://repository.jboss.org/maven2/org/hibernate/ キャッシュの設計が大幅に変更され,…
前回は ReadOnlyCache について掘り下げてみました。今回は ReadWriteCache について掘り下げてみたいと思います。 マニュアル曰く If the application needs to update data, a read-write cache might be appropriate. This cache strategy should never b…
前回は Cache Concurrency Strategy を全体的に扱いました。今回からは各 Cache Concurrency Strategy のそれぞれを個別にフォーカスしていこう思います。今回は、ReadOnlyCache について掘り下げてみようと思います。 マニュアル曰く If your application n…
前回はキャッシュ並列性戦略の概要を確認してみました。今回は CacheConcurrencyStrategy インタフェースにフォーカスしてみようと思います。 インタフェース説明 Implementors manage transactional access to cached data. Transactions pass in a timesta…
前回は、キャッシュ関連の分類と、キャッシュプロバイダ実装側の対応について考えてみました。分類にもいろいろあり、実装にもいろいろあって、一気にすべて理解するのは難しそうです。ということで、今回は Cache Concurrency Strategy の概要を確認してみ…
前回は、Hiberanteの2次キャッシュを、単純に技術的に適用して動かすだけなら簡単だけど、適切に設計して実案件に取り込むのはハードルが高そうだねぇという話でした。今回は、キャッシュ関連の分類と、キャッシュプロバイダ実装側の対応について考えてみよ…
Hibernate では2次キャッシュ(query cache と collection cache 含む)を提供していますが、キャッシュプロバイダ実装の選定とか、実案件への適用ポリシー等についてはユーザーにお任せですよね。自由度が高いというメリットはあるけど、自由を持て余してしま…
http://jbosscache.blogspot.com/2008/07/mvcc-has-landed.html
前回(Atomikos TransactionsEssentials で JTA (XA with MySQL編その3)) では、 MySQL では XA START xid JOIN は未サポートという事実が判明しました。 今回は、「なんかワークアラウンドないかな〜」的なコンセプトでぬるく攻めてみようと思います。 At…
XA START xid JOIN は未サポート 前回(Atomikos TransactionsEssentials で JTA (XA with MySQL編その2))は XA START xid JOIN にて以下のようなエラーが発生しました。 mysql> XA START 0x636f6d2e61746f6d696b6f732e737072696e672e6a6462632e746d303030…
EntityManager#persist()を2回連続で呼び出してみた。 前回は、JPA で複数のデータソースに対して persist() できました。 さて、今度は、EntityManager#persist() を、同一のEntityManager に対して2回連続で呼び出してみることにします。 ソースはこんな…
深夜に携帯メールで起こされ、朝までリモート作業をしていたのが原因かもしれませんw 発注したのは、以下の製品です。 ThinkPad T61p 6459EAJ Kingston KVR667D2S5/2G(SODIMM DDR2 PC2-5300 2GB) ThinkPad T61p 6459EAJ T61p 6459A25 というのが直販サイト…
前回の Atomikos TransactionsEssentials で JTA (Spring + JDBC 編) では、普通に UserTransaction を使ってみたところ、特に問題なく動作しました。 しかし、JPA を使い始めると、どうも動作がおかしい。 null source まずは、以下のエラー。 Exception in…
出ましたねー。 http://wicket.apache.org/
出てたんですねー。 (`・ω・´) http://www.eclipse.org/downloads/
第二版出てますね。 High Performance MySQL, Second Edition Amazon.co.jp では予約受付中のようです。
フル J2EE コンテナを使わずに SpringFramework だけ利用する場合って、 JNDI を前提にされると結構めんどくさいことがありますよね。 たとえば、UserTransaction を JNDI 経由で取得するのが前提の場合とか。 そんなとき、xbean-spring の SpringInitialCon…
TransactionsEssentials は、Atomikos のフリーの JTA 実装です。 とりあえずインストールしてみた。 サイトからダウンロードして、dist フォルダから必要な jar ファイルを選び、クラスパスに通します。 とりあえず、以下の jar があれば、最低限の JDBC 操…
小中学生の携帯電話禁止 自民有志、議員立法めざす この問題では、福田首相が「有害情報の心配をした方がいい」と記者団に指摘した。 情報を、無害と有害に分けますか。 国家権力自らが有害情報を定義しメディアに規制をかけますか。 首相が検閲を推奨ですか…
前回のおさらい 前回は、@Component アノテーション、@Scope アノテーション、context:component-scan 要素を用いて、Entity のパッケージ以下の各クラスを bean として自動登録しました。その実際の記述は以下のようになります。 @Component("user") @Scope…
SpringFramework2.5から、クラスパスを走査し、アノテーションの付加されたコンポーネントを自動検出する機能がサポートされています。典型的には、@Component, @Repository, @Service, @Controller 等のステレオタイプでアノテートされたコンポーネントクラ…
今回は、前回の続きです。 @Resource アノテーションとは? @Resource アノテーションは、クラス、メソッド、フィールドに対して指定可能なアノテーションで、リソースへの参照を宣言するためのものです。JSR 250: Common Annotations for the JavaTM Platfo…
こんなソースに出会った。 他組織のドメイン名のパッケージを勝手に名乗っている。 あまつさえ、オリジナルに存在しないパッケージを追加している。 オリジナルのバグフィックスや拡張性の都合ってわけでもない。 ...。 お願いだから、保守する身にもなっ…
今回は、Spring+HibernateEntityManager(AspectJ AOP with Load-Time-Weaver編)の続きです。 コネクションタイムアウトのハンドリング忘れてた(^^; 以前、beans.xml に DBCP の設定は行いましたが、コネクションタイムアウト対策を忘れていました。おいら…
今回は、Spring+HibernateEntityManager(@Required編)の続きです。 トランザクションがかからない!? 現在は、ServiceImpl#registerUser(User) メソッドに、@Transactional アノテーションを用いてトランザクションをかけています。 @Transactional publ…
OSCache-2.4.1 にて、同一キーに対して並列に複数の操作を行い、ある条件を満たすとバグります。 例外は、 Exception in thread "Thread-2" java.lang.IllegalStateException: Cannot complete cache update - current state (2) is not UPDATE_IN_PROGRESS…
Web 系のアプリとか、単一のユーザーオペレーションをスレッドに結びつけるようなアプリの場合、log4j の NDC って使えるかも。ユーザーIDのような情報とか表示させると、ログ解析が楽になるかな?まだドキュメントちゃんと読んでないので、正しい使い方かど…
SpringFramework や Hibernate の定義ファイルには、スキーマの定義等、外部の URL を参照すると思しき箇所があります。本番環境では、外部への HTTP 接続が不可能な場合や、ネットワーク障害で外部にアクセスできなくなったりする可能性がありますので、そ…