minimize

事業拡大のため、新しい仲間を募集しています。
→詳しくはこちら

jbossの設定ファイル、jboss.xmlを解析します。
jboss4.0を対象とします。

jboss

ルート要素です。以下の子要素を含むことができます。

loader-repository

詳細は不明です。

<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-name

JMXオブジェクト名を定義します。

enforce-ejb-restrictions

このコンテナにEJB1.1の制約を付けるかどうかを指定します。

<enforce-ejb-restrictions>true</enforce-ejb-restrictions>
<enforce-ejb-restrictions>false</enforce-ejb-restrictions>

security-domain

使用するセキュリティ・マネージャのJNDI名を記述します。
login-config.xml に定義されたポリシー名を含む必要があります。

<security-domain>java:/jaas/MyAppRealm</security-domain>

missing-method-permissions-excluded-mode

詳細は不明です。

unauthenticated-principal

詳細は不明です。

enterprise-beans

エンタープライズBeanに関する設定を記述します。
この要素の中には、以下の3要素を記述します(複数可)。

session

セッションBeanに関する設定を記述します。

ejb-name

EJB名を記述します。
session 要素の ejb-name で定義されている必要があります。

jndi-name

このEJBに割り当てるJNDI名を定義します。
この要素を省略すると、JNDI名はEJB名(ejb-name)と同じになります。

local-jndi-name

このEJBに割り当てるローカルJNDI名を定義します。

configuration-name

詳細は不明です。

invoker-bindings

詳細は不明です。

security-proxy

詳細は不明です。

ejb-ref

EJB参照を定義します。複数定義可能です。

ejb-ref-name

EJB参照名を記述します。
ejb-jar.xml 内 ejb-ref 要素中の ejb-ref-name で定義されている必要があります。

jndi-name

このEJB参照に使用するJNDI名を定義します。

ejb-local-ref

EJBローカル参照を定義します。複数定義可能です。

ejb-ref-name

EJBローカル参照名を記述します。
ejb-jar.xml 内 ejb-local-ref 要素中の ejb-ref-name で定義されている必要があります。

local-jndi-name

このEJBローカル参照に使用するJNDI名を定義します。

resource-ref

詳細は不明です。

resource-env-ref

詳細は不明です。

clustered

詳細は不明です。

cluster-config

詳細は不明です。

method-attributes

詳細は不明です。


depends

詳細は不明です。

entity

エンティティBeanを定義します。

ejb-name
jndi-name
local-jndi-name
configuration-name
invoker-bindings
security-proxy
ejb-ref
ejb-local-ref
resource-ref
resource-env-ref
clustered
cluster-config
method-attributes
depends

session を参照して下さい。

read-only

エンティティBeanを読み込み専用属性にします。
true にすることで、このBeanに書き込んだり変更したりできなくなります。
その分パフォーマンスは上がるので、マスタ等に使うのが良いでしょう。
省略すると false になります。

<read-only>true</read-only>
<read-only>false</read-only>

cache-invalidation

詳細は不明です。

cache-invalidation-config

詳細は不明です。

messege-driven

メッセージ駆動型Beanを定義します。
詳細は不明です。

assembly-descriptor

詳細は不明です。

resource-managers

リソースマネージャ群を定義します。

resource-manager

リソースマネージャを定義します。
複数定義可能です。

res-name

リソース名を記述します。

res-jndi-name

リソースに対応するJNDI名を記述します。
res-url と同時に記述できません。

res-url

リソースのURLを記述します。
res-jndi-name と同時に記述できません。

invoker-proxy-bindings

詳細は不明です。

container-configurations

コンテナ設定群を定義します。

container-configuration

コンテナ設定を定義します。
複数定義可能です。

container-name

コンテナ名を定義します。必須要素です。

call-logging

全メソッド呼び出しをログに出力するかどうかを指定します。

<call-logging>true</call-logging>
<call-logging>false</call-logging>

invoker-proxy-binding-name

詳細は不明です。

sync-on-commit-only

ejbStore メソッドの呼び出すタイミングを指定します。
true にすると、ejbStore はトランザクションをcommitした時のみ呼び出されます。

<sync-on-commit-only>true</sync-on-commit-only>
<sync-on-commit-only>false</sync-on-commit-only>

insert-after-ejb-post-create

INSERT文の発行するタイミングを指定します。

<insert-after-ejb-post-create>true</insert-after-ejb-post-create>
<insert-after-ejb-post-create>false</insert-after-ejb-post-create>
false

これがデフォルトです。
INSERT文は ejbCreate の後、 ejbPostCreate の前に発行されます。
ejbCreate -> INSERT -> ejbPostCreate という順番になります。

true

INSERT文は ejbPostCreate の後に発行されます。
ejbCreate -> ejbPostCreate -> INSERT という順番になります。
INSERT文を発行する前にejbPostCreateメソッドを呼び出す必要がある場合に利用するようです。

container-interceptors

詳細は不明です。

instance-pool

JBossによって使用されるインスタンスプールのクラス名を定義します。
デフォルトでは、
エンティティBeanには org.jboss.ejb.plugins.EntityInstancePool
ステートレス・セッションBeanには org.jboss.ejb.plugins.StatelessSessionInstancePool
がそれぞれ使用されます。
ステートフル・セッションBeanにはプールは使われません。

ここで定義するクラスは org.jboss.ejb.InstancePool インターフェイスを実装している必要があります。

instance-cache

JBossによって使用されるインスタンスキャッシュのクラス名を定義します。
デフォルトでは、
エンティティBeanには org.jboss.ejb.plugins.NoPassivationEntityInstanceCache
ステートフル・セッションBeanには org.jboss.ejb.plugins.NoPassivationStatefulSessionInstanceCache
がそれぞれ使用されます。
ステートレス・セッションBeanにはキャッシュは使われません。

ここで定義するクラスは org.jboss.ejb.InstanceCache インターフェイスを実装している必要があります。

persistence-manager

詳細は不明です。

web-class-loader

Webクラスローダのクラス名を定義します。
デフォルトは org.jboss.web.WebClassLoader です。
ここで定義するクラスは org.jboss.web.WebClassLoader インターフェイスを実装している必要があります。

locking-policy

EJBロックに使用するクラス名を定義します。
デフォルトは org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock です。
ここで定義するクラスは org.jboss.ejb.BeanLock インターフェイスを実装している必要があります。

container-cache-conf

詳細は不明です。

container-pool-conf

詳細は不明です。

commit-option

コミットを行うタイミングを指定します。

A

コンテナはBeanの状態をキャッシュします。
データベースに対して排他的アクセスを実現します。
一番高速です。

B

コンテナはBeanの状態をキャッシュします。
データベースに対して排他的アクセスを行いません。

C

コンテナはBeanの状態をキャッシュしません。

D

A と似ていますが、遅延読み出し(lazy read)を行います。
一定時間(デフォルトでは30秒)毎にキャッシュの内容を更新します。
この間隔は optiond-refresh-rate 要素で変更できます。

optiond-refresh-rate

commit-optionD に設定したときのみ有効です。
更新を行う間隔を秒単位で指定します。

security-domain

詳細は不明です。

cluster-config

詳細は不明です。

depends

詳細は不明です。