当初戸惑ったので、簡単に整理してみた。
生成されたプロジェクトは 3つのデータベースと永続性設定を含んでいる。
・persistence-dev.xmlや、import-dev.sql、hoge-dev-ds.xml
アプリケーションを開発データベースにデプロイするときに使用される。
seam-gen に既存データベースで作業しているかを伝えるかどうかによって、
スキーマはデプロイメント時に自動的にエキスポートされる場合がある。
・persistence-prod.xmlや、import-prod.sql、hoge-prod-ds.xml
実稼働環境のデータベースにアプリケーションをデプロイする場合に使用される。
スキーマはデプロイメント時に自動的にエキスポートされない。
・persistence-test.xmlや、import-test.sql
TestNG ユニットテストを実行する場合に利用される。
・components-dev.properties、components-prod.properties、components-test.propertiesなど。
components.xmlのワイルドカードの定義をする。(@jndiPattern@の部分)
デプロイ時にcomponents.propertiesファイルに記述された値に置き換えることができる。
適用基準は、persistence.xmlと同じ。
・seam-gen.reveng.xml
特定のリバースエンジニアリングの、 アスペクトの制御を可能にする。
・messages_en.propertiesなどなど
それぞれのロケールのメッセージファイル。jaも出来たらうれしかった。
・security.drl
Droolsのルールファイル。WorkingMemoryというAPI経由で操作される。
login.xhtmlとAuthenticator.java、components.xmlと絡めて動作させることができる。(試してない。)
ビジネスルールをシステムに依存しない規則として管理したい場合などに有益(らしい)。
J2EE, JBossに関するファイルとして
・components.xml
Seamアプリケーション上で動作するコンポーネントの構成、制御を行う設定ファイル。
・application.xml
アプリケーションをEARファイルとしてデプロイするための定義。
・ejb-jar.xml
SessionBeanに対してSeamInterceptorをアタッチするための定義。
・jboss-beans.xml
追加のマイクロコンテナなどの設定(例えば、追加データソース)
・jboss-app.xml
アプリケーション内でEntitiyManagerをひとつしか使用しない場合、
jboss-app.xmlファイルを用意しておけばユニット名の指定無しにデフォルトのEntityManagerを容易に見つけることができるようになる
・persistence.xml
JPAを介した永続化を有効にするためにデータベースの場所や設定を定義。
後は、WEBアプリケーションのファイルだったり、JSFのファイルだったりなので省略。
ふと、以前から調べているマイクロコンテナの設定って、この辺でやるんじゃないの?ってまとめながら気付いた。
早速、試してみよう。改めて出力すると得るものがあるね〜。勘が当たればいいのだけどね。。。
2009/2/5 追記