jbossの設定ファイル、jboss.xmlを解析します。
jboss3.2を対象とします。
ルート要素です。以下の子要素を含むことができます。
詳細は不明です。
<loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
dot.com:loader=unique-archive-name
<loader-repository-config configParserClass='dot.com.LoaderParser'>
java2ParentDelegaton=true
</loader-repository-config>
</loader-repository>
JMXオブジェクト名を定義します。
このコンテナにEJB1.1の制約を付けるかどうかを指定します。
<enforce-ejb-restrictions>true</enforce-ejb-restrictions> <enforce-ejb-restrictions>false</enforce-ejb-restrictions>
使用するセキュリティ・マネージャのJNDI名を記述します。
login-config.xml に定義されたポリシー名を含む必要があります。
<security-domain>java:/jaas/MyAppRealm</security-domain>
詳細は不明です。
エンタープライズBeanに関する設定を記述します。
この要素の中には、以下の3要素を記述します(複数可)。
セッションBeanに関する設定を記述します。
EJB名を記述します。
session 要素の ejb-name で定義されている必要があります。
このEJBに割り当てるJNDI名を定義します。
この要素を省略すると、JNDI名はEJB名(ejb-name)と同じになります。
このEJBに割り当てるローカルJNDI名を定義します。
詳細は不明です。
詳細は不明です。
詳細は不明です。
EJB参照を定義します。複数定義可能です。
EJB参照名を記述します。
ejb-jar.xml 内 ejb-ref 要素中の ejb-ref-name で定義されている必要があります。
このEJB参照に使用するJNDI名を定義します。
EJBローカル参照を定義します。複数定義可能です。
EJBローカル参照名を記述します。
ejb-jar.xml 内 ejb-local-ref 要素中の ejb-ref-name で定義されている必要があります。
このEJBローカル参照に使用するJNDI名を定義します。
詳細は不明です。
詳細は不明です。
詳細は不明です。
詳細は不明です。
詳細は不明です。
詳細は不明です。
エンティティBeanを定義します。
エンティティBeanを読み込み専用属性にします。true にすることで、このBeanに書き込んだり変更したりできなくなります。
その分パフォーマンスは上がるので、マスタ等に使うのが良いでしょう。
省略すると false になります。
<read-only>true</read-only> <read-only>false</read-only>
詳細は不明です。
詳細は不明です。
メッセージ駆動型Beanを定義します。
詳細は不明です。
リソースマネージャ群を定義します。
リソースマネージャを定義します。
複数定義可能です。
リソース名を記述します。
リソースに対応するJNDI名を記述します。
res-url と同時に記述できません。
リソースのURLを記述します。
res-jndi-name と同時に記述できません。
詳細は不明です。
コンテナ設定群を定義します。
コンテナ設定を定義します。
複数定義可能です。
コンテナ名を定義します。必須要素です。
全メソッド呼び出しをログに出力するかどうかを指定します。
<call-logging>true</call-logging> <call-logging>false</call-logging>
詳細は不明です。
ejbStore メソッドの呼び出すタイミングを指定します。true にすると、ejbStore はトランザクションをcommitした時のみ呼び出されます。
<sync-on-commit-only>true</sync-on-commit-only> <sync-on-commit-only>false</sync-on-commit-only>
INSERT文の発行するタイミングを指定します。
<insert-after-ejb-post-create>true</insert-after-ejb-post-create> <insert-after-ejb-post-create>false</insert-after-ejb-post-create>
これがデフォルトです。
INSERT文は ejbCreate の後、 ejbPostCreate の前に発行されます。
ejbCreate -> INSERT -> ejbPostCreate という順番になります。
INSERT文は ejbPostCreate の後に発行されます。
ejbCreate -> ejbPostCreate -> INSERT という順番になります。
INSERT文を発行する前にejbPostCreateメソッドを呼び出す必要がある場合に利用するようです。
詳細は不明です。
JBossによって使用されるインスタンスプールのクラス名を定義します。
デフォルトでは、
エンティティBeanには org.jboss.ejb.plugins.EntityInstancePool
ステートレス・セッションBeanには org.jboss.ejb.plugins.StatelessSessionInstancePool
がそれぞれ使用されます。
ステートフル・セッションBeanにはプールは使われません。
ここで定義するクラスは org.jboss.ejb.InstancePool インターフェイスを実装している必要があります。
JBossによって使用されるインスタンスキャッシュのクラス名を定義します。
デフォルトでは、
エンティティBeanには org.jboss.ejb.plugins.NoPassivationEntityInstanceCache
ステートフル・セッションBeanには org.jboss.ejb.plugins.NoPassivationStatefulSessionInstanceCache
がそれぞれ使用されます。
ステートレス・セッションBeanにはキャッシュは使われません。
ここで定義するクラスは org.jboss.ejb.InstanceCache インターフェイスを実装している必要があります。
詳細は不明です。
Webクラスローダのクラス名を定義します。
デフォルトは org.jboss.web.WebClassLoader です。
ここで定義するクラスは org.jboss.web.WebClassLoader インターフェイスを実装している必要があります。
EJBロックに使用するクラス名を定義します。
デフォルトは org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock です。
ここで定義するクラスは org.jboss.ejb.BeanLock インターフェイスを実装している必要があります。
詳細は不明です。
詳細は不明です。
コミットを行うタイミングを指定します。
コンテナはBeanの状態をキャッシュします。
データベースに対して排他的アクセスを実現します。
一番高速です。
コンテナはBeanの状態をキャッシュします。
データベースに対して排他的アクセスを行いません。
コンテナはBeanの状態をキャッシュしません。
A と似ていますが、遅延読み出し(lazy read)を行います。
一定時間(デフォルトでは30秒)毎にキャッシュの内容を更新します。
この間隔は optiond-refresh-rate 要素で変更できます。
commit-option を D に設定したときのみ有効です。
更新を行う間隔を秒単位で指定します。
詳細は不明です。
詳細は不明です。
詳細は不明です。