2008-06-01から1ヶ月間の記事一覧

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 接続が不可能な場合や、ネットワーク障害で外部にアクセスできなくなったりする可能性がありますので、そ…

Spring+HibernateEntityManager(@Required編)

DIし忘れに注意 実行時に、いきなり NullPointerException 喰らって、それが単なる bean への DI し忘れだとヘコみますよね。そういうときには、@Required アノテーションによって、コンテキスト起動時に DI の抜けを確認することができます。 ぬるぽの例 前…

Spring+HibernateEntityManager(@Transactionalアノテーション編)

xmlファイルによるトランザクション設定 前回までの設定では、トランザクションの設定は、beans.xml ファイルの以下の箇所で行っています。 <tx:advice id="readWriteAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="*" propagation="REQUIRED" /> </tx:attributes> </tx:advice> <aop:config> </aop:config>

Spring+HibernateEntityManager(Spring+DDDっぽく編 その4)

アプリケーション層 アプリケーションは、ドメインの概念と実装を、アプリケーション形作るための階層です(とおいらは思っている)。そのため、アプリケーションの起動部分や、インスタンスの生成やら生成されたインスタンス間の依存関係の設定なども含まれ…

Spring+HibernateEntityManager(Spring+DDDっぽく編 その3)

インフラストラクチャ層の位置づけ インフラストラクチャ層は、上位層から利用される層という位置づけで、内容的には何でもありです。プレゼンテーション層、アプリケーション層、ドメイン層のすべてから依存が可能です。しかし、インフラストラクチャ層は上…

日本語の全角スペースが入った場合の例外

XML エディタ使ってる限りは、あまりお目にかからないですが、 久々に xerces 君に怒られました (´・ω・`) Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 14 in XML document from class path res…

org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy

こんな DB アクセスにお悩みのあなた! 211 Query SET autocommit=0 211 Query commit 211 Query SET autocommit=1 211 Query SET autocommit=0 211 Query commit 211 Query SET autocommit=1 211 Query SET autocommit=0 211 Query commit 211 Query SET au…

Maven: The Definitive Guide

8月発売で、amazon で予約受け付けてます。Maven: The Definitive Guidesonatypeのサイトから、HTML とPDF のアルファ版が無料でダウンロードできるようです。

Spring+HibernateEntityManager(Spring+DDDっぽく編 その2)

徹夜明けで満員電車で帰宅 orz仮眠後出社 o...rzなんだかなー。 サンプルをちょっとだけ現実的に変更 さすがに、クラス A とかだとリアリティにかけるので、ちょっと変更。 User というインタフェースを作成。何のユーザーなのかよく分かりませんが、とりあ…

Spring+HibernateEntityManager(Spring+DDDっぽく編)

おいらは DDD っぽいのが好き。 前回は、HibernateEntityManager を使ったベタなサンプルでした。しかし、おいらは DDD っぽいのが好きなので、今回は DDD(Domain-Driven-Design)っぽい設計にしてみます。 Layered Architecture ソースコードを、DDD の階層…

OSCache 2.4.1 での変更点を見てみる

http://wiki.opensymphony.com/display/CACHE/Complete+Change+Log 変更点 バグ対応 [CACHE-279] - LRUCache loses entries when updated by mutliple threads. [CACHE-296] - For a Cache class the cacheFlushed method is not being invoked on the Cache…

Spring+HibernateEntityManager(宣言的トランザクション編)

今回は、前回のサンプルを、プログラム的なランザクションから、宣言的なトランザクションに変更してみます。 主な変更点 aspectjweaverの追加。 aspectj の AOP 文法を利用するため、aspectjweaver のライブラリを追加。追加しないと、以下のような例外が出…

Spring+HibernateEntityManager(とりあえずSpring編)

前回は、HibernateEntityManager を使ったベタなサンプルでした。今回は、とりあえず Spring Framework を使ってみるという程度に拡張します。 拡張点 機能実行部を Serivce として抜き出し。 EntityManagerFactory を Serivce に DI することにして、Entity…