B weblogic-ejb-jar.xmlデプロイメント記述子のリファレンス
weblogic-ejb-jar.xml
ファイルのEJB 2.1の要素です。これらの定義を使用して、EJBデプロイメントを構成するWebLogic固有のweblogic-ejb-jar.xml
ファイルを作成します。9.0より前のリリースのWebLogic Serverでは、weblogic-ejb-jar.xml
は文書型定義(DTD)に基づいていました。後方互換性を保持するために、WebLogic ServerではXSDベースとDTDベースのEJB記述子が引き続きサポートされています。そのため、WebLogic ServerのDTDベースの記述子を使用するアプリケーションも記述子を変更せずにデプロイできます。
ノート:
EJB 3.x実装でメタデータ・アノテーションを使用している場合は、Oracle WebLogic Server Enterprise JavaBeansの開発のEJBメタデータ・アノテーション・リファレンスを参照してください。
詳細情報:
-
weblogic-ejb-jar.xml
に必要なXMLスキーマ定義とネームスペース宣言、および文書型定義とDOCTYPEヘッダーについては、「デプロイメント記述子スキーマおよび文書型定義リファレンス」を参照してください。 -
weblogic-cmp-jar.xml
ファイルについては、「weblogic-cmp-jar.xmlデプロイメント記述子のリファレンス」を参照してください。 -
EJB 1.1デプロイメント記述子の要素については、「EJB 1.1ユーザーへの重要な情報」を参照してください。
完全なweblogic-ejb-jar.xsd
スキーマは、http://www.oracle.com/webfolder/technetwork/weblogic/weblogic-ejb-jar/index.html
を参照してください。
この付録の内容は次のとおりです。
- 2.1のweblogic-ejb-jar.xmlファイルの構造
- 2.1のweblogic-ejb-jar.xmlの要素
- allow-concurrent-calls
- allow-remove-during-transaction
- cache-between-transactions
- cache-type
- client-authentication
- client-cert-authentication
- clients-on-same-server
- component-factory-class-name
- concurrency-strategy
- confidentiality
- connection-factory-jndi-name
- connection-factory-resource-link
- create-as-principal-name
- delay-updates-until-end-of-tx
- description
- destination-jndi-name
- destination-resource-link
- disable-warning
- dispatch-policy
- distributed-destination-connection
- durable-subscription-deletion
- ejb-name
- ejb-reference-description
- ejb-ref-name
- enable-bean-class-redeploy
- enable-call-by-reference
- enable-dynamic-queries
- entity-always-uses-transaction
- entity-cache
- entity-cache-name
- entity-cache-ref
- entity-clustering
- entity-descriptor
- estimated-bean-size
- externally-defined
- finders-load-bean
- generate-unique-jms-client-id
- global-role
- home-call-router-class-name
- home-is-clusterable
- home-load-algorithm
- idempotent-methods
- identity-assertion
- idle-timeout-seconds
- iiop-security-descriptor
- init-suspend-seconds
- initial-beans-in-free-pool
- initial-context-factory
- integrity
- invalidation-target
- is-modified-method-name
- isolation-level
- jms-client-id
- jms-polling-interval-seconds
- jndi-binding
- jndi-name
- local-jndi-name
- max-beans-in-cache
- max-beans-in-free-pool
- max-messages-in-transaction
- max-queries-in-cache
- max-suspend-seconds
- message-destination-descriptor
- message-destination-name
- message-driven-descriptor
- method
- method-intf
- method-name
- method-param
- method-params
- network-access-point
- passivate-as-principal-name
- persistence
- persistence-use
- persistent-store-dir
- persistent-store-logical-name
- pool
- principal-name
- provider-url
- read-timeout-seconds
- remote-client-timeout
- remove-as-principal-name
- replication-type
- resource-env-ref-name
- res-ref-name
- resource-adapter-jndi-name
- resource-description
- resource-env-description
- resource-link
- retry-count
- retry-methods-on-rollback
- role-name
- run-as-identity-principal
- run-as-principal-name
- run-as-role-assignment
- security-permission
- security-permission-spec
- security-role-assignment
- service-reference-description
- session-timeout-seconds
- singleton-bean-call-router-class-name
- singleton-bean-is-clusterable
- singleton-bean-load-algorithm
- singleton-clustering
- singleton-session-descriptor
- stateful-session-cache
- stateful-session-clustering
- stateful-session-descriptor
- stateless-bean-call-router-class-name
- stateless-bean-is-clusterable
- stateless-bean-load-algorithm
- stateless-clustering
- stateless-session-descriptor
- stick-to-first-server
- timer-descriptor
- timer-implementation
- transaction-descriptor
- transaction-isolation
- transport-requirements
- trans-timeout-seconds
- type-identifier
- type-storage
- type-version
- use-serverside-stubs
- use81-style-polling
- weblogic-compatibility
- weblogic-ejb-jar
- weblogic-enterprise-bean
- work-manager
2.1のweblogic-ejb-jar.xmlファイルの構造
WebLogic Serverのweblogic-ejb-jar.xml
デプロイメント記述子ファイルには、WebLogic Server固有の要素を記述します。
WebLogic Serverのweblogic-ejb-jar.xml
の最上位要素は次のとおりです。
-
description
-
weblogic-enterprise-bean
-
ejb-name
-
entity-descriptor | stateless-session-descriptor | stateful-session-descriptor | message-driven-descriptor
-
transaction-descriptor
-
iiop-security-descriptor
-
enable-call-by-reference
-
network-access-point
-
clients-on-same-server
-
run-as-principal-name
-
create-as-principal-name
-
remove-as-principal-name
-
passivate-as-principal-name
-
jndi-name
-
local-jndi-name
-
dispatch-policy
-
remote-client-timeout
-
stick-to-first-server
-
-
security-role-assignment
-
run-as-role-assignment
-
security-permission
-
transaction-isolation
-
message-destination-descriptor
-
idempotent-methods
-
retry-methods-on-rollback
-
enable-bean-class-redeploy
-
timer-implementation
-
disable-warning
-
work-manager
-
component-factory-class-name
-
weblogic-compatibility
2.1のweblogic-ejb-jar.xmlの要素
このリリースのWebLogic Serverでサポートされているweblogic-ejb-jar.xml
の要素を調べます。
weblogic-ejb-jar.xml
の要素の次のリスト:
allow-concurrent-calls
ノート:
allows-concurrent-calls
要素は、WebLogic Server EJB 3.1コンテナでは非推奨です。代わりにjavax.ejb.AccessTimeout
メタデータ・アノテーションを使用することをお薦めします。これにより、タイムアウトする前に同時アクセス試行がブロックされる時間を指定できます。『Oracle WebLogic Server Enterprise JavaBeansの開発』のEJBメタデータ・アノテーション・リファレンスに関する項を参照してください。
値の範囲: True | False
デフォルト値: False
親要素:
-
weblogic-enterprise-bean
-
stateful-session-descriptor
機能
ステートフル・セッションBeanインスタンスがメソッドの同時呼出しを許可するかどうかを指定します。デフォルトでは、EJBの仕様に従ってallows-concurrent-calls
はFalse
であり、ステートフル・セッションBeanのインスタンスでメソッド呼出しを処理しているときにまた別の(同時)メソッド呼出しがサーバーに到着するとWebLogic ServerからRemoteException
が送出されます。
True
に設定すると、EJBコンテナはメソッドの同時呼出しをブロックするため、前の呼出しが完了してから次のメソッドが呼び出されるようになります。
親トピック: allow-concurrent-calls
allow-remove-during-transaction
値の範囲: True | False
デフォルト値: False
親要素:
weblogic-enterprise-bean stateful-session-descriptor
機能
ステートフル・セッションBeanのremove
メソッドをトランザクション・コンテキスト内で呼び出すことができることを指定します。
ノート:
Synchronization
インタフェースを実装しているステートフル・セッションBeanでは、このタグを使用し、その後トランザクション終了前にremoveを呼び出すことがないようにしてください。それが行われた場合、EJBコンテナは同期コールバックを呼び出しません。
cache-between-transactions
値の範囲: True | False
デフォルト値: False
親要素:
weblogic-enterprise-bean
entity-descriptor
entity-cache or entity cache-ref
機能
以前のdb-is-shared
要素に相当し、EJBコンテナがエンティティBeanの永続データをトランザクション間でキャッシュするかどうかを指定します。
EJBコンテナによるデータの長期キャッシングの実行を有効にする場合、True
を指定します。EJBコンテナによるデータの短期キャッシングの実行を有効にする場合、False
を指定します。
読取り専用Beanの場合、WebLogic Serverはこれの長期キャッシングを常に実行するので、cache-between-transactions
要素の値は無視されます。
詳細は、「cache-between-transactionsによるデータベース読込みの制限」を参照してください。
親トピック: cache-between-transactions
cache-type
値の範囲: NRU | LRU
デフォルト値: NRU
親要素:
weblogic-enterprise-bean stateful-session-cache
機能
EJBがキャッシュから削除される順番を指定します。値は次のとおりです。
-
最長時間未使用(LRU : Least Recently Used)
-
最近未使用(NRU : Not Recently Used)
NRUの最小キャッシュ・サイズは8です。
max-beans-in-cache
が8より小さい場合、WebLogic Serverではmax-beans-in-cache
の値に8が使用されます。
親トピック: cache-type
client-authentication
値の範囲: none | supported | required
デフォルト値:なし
親要素:
weblogic-enterprise-bean iiop-security-descriptor
client-cert-authentication
値の範囲: none | supported | required
デフォルト値:なし
親要素:
weblogic-enterprise-bean iiop-security-descriptor transport-requirements
clients-on-same-server
値の範囲: True | False
デフォルト値: False
親要素:
weblogic-enterprise-bean
機能
EJBがデプロイされた際、WebLogic ServerがこのEJBにJNDIの通知を送るかどうかが指定されます。この属性がFalse
(デフォルト)の場合、WebLogic Serverクラスタでは、ある特定のサーバー上にあるこのEJBの場所を示すために、自動的にJNDIツリーを更新します。これにより、そのクライアントが同じサーバー上で連結されてなくても、すべてのクライアントがこのEJBにアクセスできるようになります。
EJBにアクセスするクライアントのすべてが、そのBeanがデプロイされているのと同じサーバー上からアクセスすることが分かっている場合には、clients-on-same-server
をTrue
に設定できます。この場合、EJBがデプロイされる際、WebLogic ServerクラスタはJNDIの通知をこのEJBに送信しません。クラスタ内のJNDIの更新ではマルチキャスト・トラフィックが利用されるため、clients-on-same-server
をTrue
に設定することにより大容量のクラスタでの起動時間を短縮できます。
連結EJBの詳細は、Oracle WebLogic Serverクラスタの管理の連結オブジェクトの最適化を参照してください。
親トピック: clients-on-same-server
例
<weblogic-enterprise-bean> <ejb-name>AccountBean</ejb-name> ... <clients-on-same-server>True</clients-on-same-server> </weblogic-enterprise-bean>
親トピック: clients-on-same-server
component-factory-class-name
値の範囲:なし
デフォルト値: null
親要素:
weblogic-ejb-jar
機能
この要素をorg.springframework.jee.interfaces.SpringComponentFactoryに設定してSpring拡張機能を有効にします。この要素は、EJB、Web、およびアプリケーション記述子に含まれます。アプリケーション・レベルの記述子は、モジュール・レベルの記述子によって上書きされます。このタグをnull (デフォルト)に設定すると、Spring拡張機能は無効になります。
親トピック: component-factory-class-name
concurrency-strategy
値の範囲: Exclusive | Database | ReadOnly | Optimistic
デフォルト値: Database
親要素:
weblogic-enterprise-bean entity-descriptor entity-cache
または
weblogic-enterprise-bean entity-descriptor entity-cache-ref
機能
コンテナがエンティティBeanへの同時アクセスを管理する方法を指定します。以下の4つの値のいずれかに設定します。
-
Exclusive
を指定すると、Beanがトランザクションに関連付けられている場合、WebLogic ServerはキャッシュされたエンティティEJBインスタンスを排他的にロックします。EJBインスタンスに対する要求は、トランザクションが完了するまでブロックされます。このオプションは、WebLogic Server 3.1 - 5.1までのデフォルトのロック動作です。 -
Database
を設定すると、WebLogic ServerはエンティティEJBに対する要求のロックを基底のデータ・ストアに委ねます。Database
同時実行性ストラテジでは、WebLogic Serverは、独立したエンティティBeanインスタンスを割り当て、ロックとキャッシングをデータベースが処理できるにようにします。これは現在のデフォルト・オプションです。 -
ReadOnly
は、読取り専用エンティティBeanで使用されます。複数の要求が並行して処理されるように各トランザクションで新しいインスタンスをアクティブ化します。WebLogic Serverは、read-timeout-seconds
パラメータに基づいてReadOnly
BeanのejbLoad()
を呼び出します。 -
Optimistic
では、トランザクションの間にEJBコンテナまたはデータベースでロックを行いません。EJBコンテナは、トランザクションをコミットする前に、あるトランザクションが更新したデータが変化していないことを確かめます。更新データのどれかが変わっていた場合、EJBコンテナはトランザクションをロールバックします。ノート:
concurrency-strategy
がOptimistic
であるBeanがクラスタにデプロイされており、クラスタのメンバーがそのBeanを更新した場合、EJBコンテナは、クラスタ内のすべてのサーバーに存在するそのBeanのすべてのコピーを無効にしようとします。この動作を無効にするには、weblogic-cmp-jar.xml
のcluster-invalidation-disabled
をTrue
に設定します。詳細については、「クラスタ内のオプティミスティック同時実行性の無効化オプション」を参照してください
ExclusiveおよびDatabase
のロック動作の詳細については、「同時実行性ストラテジの選択」
を参照してください。read-onlyエンティティBeanの詳細については、「読み書き対応エンティティBeanと読取り専用エンティティBean」
を参照してください。
親トピック: concurrency-strategy
例
<weblogic-enterprise-bean> <ejb-name>AccountBean</ejb-name> <entity-descriptor> <entity-cache> <concurrency-strategy>ReadOnly</concurrency-strategy> </entity-cache> </entity-descriptor> </weblogic-enterprise-bean>
親トピック: concurrency-strategy
confidentiality
値の範囲: none | supported | required
デフォルト値:なし
親要素:
weblogic-enterprise-bean iiop-security-descriptor transport-requirements
機能
EJBにおける転送の機密性の要件を指定します。confidentiality
要素を使用すると、他のエンティティに内容を見られることなく、クライアントとサーバー間でデータが送信されるようになります。
親トピック: confidentiality
connection-factory-jndi-name
値の範囲:有効なJNDI名
デフォルト値:この要素が指定されていない場合、デフォルトはweblogic.jms.MessageDrivenBeanConnectionFactory
(config.xml
のJMSConnectionFactory
要素で宣言されていなければならない)。
親要素:
weblogic-enterprise-bean message-driven-descriptor
機能
メッセージドリブンEJBがキューとトピックを作成するためにルックアップするJMS接続ファクトリのJNDI名を指定します。「宛先を考慮したMDBの構成」および「connection-factory-jndi-nameの設定方法」を参照してください。
親トピック: connection-factory-jndi-name
例
<message-driven-descriptor> <connection-factory-jndi-name> java:comp/env/jms/MyConnectionFactory </connection-factory-jndi-name> </message-driven-descriptor>
親トピック: connection-factory-jndi-name
connection-factory-resource-link
値の範囲: JMSモジュール内の有効なリソース
デフォルト値:なし
親要素:
weblogic-enterprise-bean message-destination-descriptor
create-as-principal-name
値の範囲:有効なプリンシパル名
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
WebLogic Server 8.1 SP01で導入され、本来はejbCreate
が匿名プリンシパルで実行される状況で使用されるプリンシパルを指定します。そのような状況では、どのプリンシパルを選択するかは次のルールで決まります。
create-as-principal-name
が設定されている場合
そのプリンシパルを使用します。
それ以外の場合
ejb-jar.xml
でBeanに対してrun-as
ロールが指定されている場合
run-as-role-assignment
を設定するためのルールに従ってプリンシパルを使用します。
それ以外の場合
ejbCreate
を匿名プリンシパルとして実行します。
create-as-principal-name
要素は、ejbCreate
内の処理が匿名プリンシパルよりも高レベルの権限を必要とする場合にのみ指定する必要があります。
この要素は、ステートレス・セッションBeanとメッセージドリブンBeanのejbCreate
メソッドに影響します。
「remove-as-principal-name」、「passivate-as-principal-name」、および「principal-name」も参照してください。
親トピック: create-as-principal-name
delay-updates-until-end-of-tx
値の範囲: True | False
デフォルト値: True
親要素:
weblogic-enterprise-bean entity-descriptor persistence
機能
トランザクションの完了時にトランザクションですべてのBeanの永続ストレージを更新するには、delay-updates-until-end-of-tx
要素をTrue
(デフォルト)に設定します。通常、この設定によって不要な更新を防ぐことができるため、パフォーマンスが向上します。ただし、データベース・トランザクション内のデータベース更新の順序は保持されません。
データベースがアイソレーション・レベルとしてTransactionReadUncommitted
を使用している場合は、進行中のトランザクションに関する中間結果を他のデータベースのユーザーに表示することもできます。この場合、delay-updates-to-end-of-tx
をFalse
に設定して、各メソッド呼出しの完了時にBeanの永続ストレージを更新するように指定します。詳細については、「ejbLoad()とejbStore()の動作の理解」を参照してください。
ノート:
delay-updates-until-end-of-tx
をFalse
に設定しても、各メソッド呼出しの後にデータベース更新が「コミットされた」状態になるわけではありません。更新はデータベースに送信されるのみです。更新は、トランザクションの完了時にのみデータベースにコミットまたはロールバックされます。
description
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar
および
weblogic-ejb-jar transaction-isolation method
および
weblogic-ejb-jar idempotent-methods method
および
weblogic-ejb-jar retry-methods-on-rollback
destination-jndi-name
値の範囲:有効なJNDI名
デフォルト値:なし
親要素:
weblogic-enterprise-bean message-destination-descriptor
および
weblogic-enterprise-bean message-driven-descriptor
機能
WebLogic Server JNDIツリーにデプロイされている実際のJMSキューまたはトピックにメッセージドリブンBeanを関連付けるために使用するJNDI名を指定します。
親トピック: destination-jndi-name
destination-resource-link
値の範囲: JMSモジュール内の有効なリソース
デフォルト値:なし
親要素:
weblogic-enterprise-bean message-destination-descriptor
機能
ejb-jar.xml
に定義されているJMSモジュール内のリソースをWebLogic Serverの実際のJMSモジュール参照にマップします。
親トピック: destination-resource-link
disable-warning
値の範囲: BEA-010001
| BEA-010054
| BEA-010200
| BEA-010202
デフォルト値:なし
親要素:
weblogic-ejb-jar
機能
IDを指定した警告メッセージをWebLogic Serverが無効化するように指定します。以下の4つの値のいずれかに設定します。
-
BEA-010001
- 警告メッセージ「EJB class loaded from system classpath during deployment.」を無効化します。 -
BEA-010054
- 警告メッセージ「EJB class loaded from system classpath during compilation.」を無効化します。 -
BEA-010200
- 警告メッセージ「EJB impl class contains a public static field, method or class.」を無効化します。 -
BEA-010202
- 警告メッセージ「Call-by-reference not enabled.」を無効化します。
親トピック: disable-warning
例
警告メッセージ「Call-by-reference not enabled」を無効にするには、次のように<disable-warning>
を設定します。
<disable-warning>BEA-010202</disable-warning>
親トピック: disable-warning
dispatch-policy
値の範囲:有効な実行キューの名前
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
EJBを実行する必要のあるスレッド・プールをどのサーバーで実行するかを指定します。ディスパッチ・ポリシーは、エンティティ、セッション、メッセージドリブンなど、すべての種類のBeanでサポートされています。
dispatch-policy
が指定されていないか、指定されたdispatch-policy
が存在しないサーバー実行スレッド・プールを参照していた場合、代わりにサーバーのデフォルトの実行スレッド・プールが使用されます。
WebLogic Serverは、対応する名前を持つ実行スレッド・キューがホスト・サーバー・インスタンスになければ、dispatch-policy
を無視します。
メッセージドリブンBean (MDB)が外部の(WebLogic以外の)宛先ソースによって駆動されている場合、MDBは外部プロバイダのスレッド・メカニズムで実行される可能性があるので、WebLogic Serverはdispatch-policy
を無視することがあります。たとえば、IBM WebSphere MQSeriesメッセージング・ソフトウェアの場合、dispatch-policy
は非トランザクション・キューについては対応されていません。アプリケーション・コードはMQSeriesスレッド内で実行されます。MQSeriesトランザクション・キュー、および非トランザクションとトランザクションの両トピックにおいては、dispatch-policy
は受け付けられます。
同時に実行中のMDBインスタンスの最大数は、max-beans-in-free-pool
とdispatch-policy
の値の組合せによって指定されます。Oracle WebLogic ServerのパフォーマンスのチューニングのMDBスレッド管理を参照してください。
親トピック: dispatch-policy
distributed-destination-connection
値の範囲: LocalOnly
| EveryMember
デフォルト値: LocalOnly
親要素:
weblogic-ejb-jar weblogic-enterprise-bean message-driven-descriptor
機能
ノート:
この要素は9.0以降のWebLogic JMSで有効です。
同じクラスタ内のWebLogic JMS分散キューにアクセスするMDBが、リソースをすべての分散宛先メンバーから消費するか、現在のWeblogic Serverのローカル・メンバーのみから消費するかを指定します。
有効な値は次のとおりです。
-
LocalOnly
- デプロイメント記述子とメッセージドリブンBeanが同じクラスタにあります。 -
EveryMember
- デプロイメント記述子がリモート・サーバー上にあります。
EveryMember
に設定すると、合計接続数が(メッセージドリブンBeanがデプロイされているサーバーの数) x (宛先の数)
に等しくなります。より大きなデプロイメントの場合、この接続数により、かなりのリソースが消費される場合があります。
EveryMember
設定では、リモート・サーバーからローカルMDBへメッセージを転送するため、ネットワークおよびCPUのオーバーヘッドが増大します。したがって、この設定は、現在のサーバーにユニークなJMSセレクタ・フィルタを使用するMDBなど、限定的なケースで利用するようにしてください。
durable-subscription-deletion
値の範囲: True | False
デフォルト値: False
親要素:
weblogic-ejb-jar weblogic-enterprise-bean message-driven-descriptor
ejb-name
値の範囲: ejb-jar.xml
で定義されているEJBの、NMTOKENの語彙ルールに準拠する名前
デフォルト値:なし
親要素:
weblogic-enterprise-bean
および
weblogic-enterprise-bean method
機能
ejb-jar.xml
で指定された同じ名前を使用して、エンタープライズBeanの名前を指定します。エンタープライズBeanのコードは名前に左右されないので、アプリケーション・アセンブリ処理中に名前を変更してもエンタープライズBeanの機能には影響しません。デプロイメント記述子のejb-name
と、デプロイヤがエンタープライズBeanのホームに割り当てるJNDI名との間には、構築された関係はありません。
ノート:
weblogic-enterprise-beanでは推奨されていません。
詳細については、「EJBリンクの使用」を参照してください
親トピック: ejb-name
ejb-reference-description
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
WebLogic ServerのEJBのJNDI名を、ejb-jar.xml
のejb-ref-name
要素でそれを指定するのに使われる名前にマップします。
親トピック: ejb-reference-description
例
<ejb-reference-description> <ejb-ref-name>AdminBean</ejb-ref-name> <jndi-name>payroll.AdminBean</jndi-name> </ejb-reference-description>
親トピック: ejb-reference-description
ejb-ref-name
値の範囲:関連するejb-jar.xml
ファイルで指定されている有効なejb-ref-name
デフォルト値:なし
親要素:
weblogic-enterprise-bean ejb-reference-description
例
<ejb-reference-description> <ejb-ref-name>AdminBean</ejb-ref-name> <jndi-name>payroll.AdminBean</jndi-name> </ejb-reference-description>
親トピック: ejb-ref-name
enable-bean-class-redeploy
値の範囲: True | False
デフォルト値: False
親要素:
weblogic-enterprise-jar
機能
デフォルトでは、EJB実装クラスは他のEJBクラスと同じクラスローダーにロードされます。enable-bean-class-redeploy
要素が有効化されていると、実装クラスは、スーパー・クラスと共に、EJBモジュール・クラスローダーの子クラスローダーにロードされます。これにより、EJB実装クラスはEJBモジュール全体を再デプロイしなくても再デプロイできるようになります。
Beanクラスを子クラスローダーにロードすると、いくつかの問題が発生する可能性があります。まず、Beanクラスが親クラスローダーにロードされたどのクラスからも見えなくなってしまうため、これらのクラスがBeanクラスを参照できなくなったり、エラーが発生したりします。また、Beanクラスは別のクラスローダーにロードされたクラスに対しては、パッケージ保護されたメソッドを呼び出せなくなります。したがって、Beanクラスが同じパッケージ内のヘルパー・クラスを呼び出した場合、ヘルパー・クラス・メソッドはpublicとして宣言する必要があります。そうしないと、IllegalAccessErrors
が発生します。
ノート:
この要素はEJB 3.0に対して非推奨になっています。WebLogic Server 10.3.0以降では、この機能はFastSwapに替わりました。Oracle WebLogic ServerへのアプリケーションのデプロイのFastSwapデプロイメントによる再デプロイメントの最小化を参照してください。
親トピック: enable-bean-class-redeploy
例
次のXML要素では、単独のBeanクラスの再デプロイメントが可能です。
<enable-bean-class-redeploy>True</enable-bean-class-redeploy>
親トピック: enable-bean-class-redeploy
enable-call-by-reference
値の範囲: True | False
デフォルト値: False
親要素:
weblogic-enterprise-bean
機能
enable-call-by-reference
がFalse
の場合、EJBメソッドのパラメータはEJBがリモートから呼び出されるか、同じEARから呼び出されるかに関係なくコピーされます(または値で渡されます)。
enable-call-by-reference
がTrue
の場合、同じEARファイル内またはスタンドアロンのJARファイルから呼び出されたEJBメソッドは引数を参照で渡します。パラメータはコピーされないので、これによってメソッド呼出しのパフォーマンスが向上します。
ノート:
EJBがリモートで呼び出されたときには、メソッド・パラメータは常に値で渡されます。リモート・コールは、異なるJVM上のアプリケーション間、または同じJVM上のアプリケーション間で実行できます。
たとえば、EJBApp1.ear
およびEJBApp2.ear
という名前の2つのアプリケーションが同じサーバー上にデプロイされるとします。EJBApp1.ear
にはEJB1
が含まれ、EJBApp2.ear
にはEJB2
が含まれます。この状況では、EJB1
とEJB2
の間の呼出しは、同じJVM上にあってもリモート呼出しとみなされます。
親トピック: enable-call-by-reference
例
<weblogic-enterprise-bean> <ejb-name>AccountBean</ejb-name> <enable-call-by-reference>False</enable-call-by-reference> </weblogic-enterprise-bean>
親トピック: enable-call-by-reference
enable-dynamic-queries
値の範囲: True | False
デフォルト値: True
親要素:
weblogic-enterprise-bean entity-descriptor
機能
True
に設定すると、動的問合せが有効になります。動的問合せは、EJB 2.x CMP Beanを使用している場合にのみ使用できます。
親トピック: enable-dynamic-queries
entity-always-uses-transaction
値の範囲: True | False
デフォルト値: False
親要素:
weblogic-ejb-jar weblogic-compatibility
機能
WebLogic Server 9.0で導入された要素で、エンティティBeanが常にトランザクションを使用しなければならないかどうかを指定します。WebLogic Server 9.0より前では、エンティティBeanが不特定のトランザクションで動作している場合、EJBコンテナはそのエンティティBeanのトランザクションを作成しました。現在は、エンティティBeanが不特定のトランザクションで動作している場合、EJBコンテナはトランザクションを作成しません。この動作を無効にし、EJBコンテナが不特定のトランザクションで動作するエンティティBeanのトランザクションを作成するようにする場合、この要素の値をTrue
に設定します。
entity-cache
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor
機能
WebLogic Server内のエンティティEJBインスタンスのキャッシュに使用する以下のオプションを定義します。
-
max-beans-in-cache
-
idle-timeout-seconds
-
read-timeout-seconds
-
concurrency-strategy
詳細については、「エンティティのキャッシングの理解」を参照してください。
親トピック: entity-cache
例
<entity-descriptor> <entity-cache> <max-beans-in-cache>...</max-beans-in-cache> <idle-timeout-seconds>...</idle-timeout-seconds> <read-timeout-seconds>...<read-timeout-seconds> <concurrency-strategy>...</concurrency-strategy> </entity-cache> <persistence>...</persistence> <entity-clustering>...</entity-clustering> </entity-descriptor>
親トピック: entity-cache
entity-cache-name
値の範囲: weblogic-application.xml
でアプリケーション・レベルのエンティティ・キャッシュに割り当てられた名前
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor entity-cache-ref
機能
エンティティBeanが使用する、アプリケーション・レベルのエンティティ・キャッシュを参照します。アプリケーション・レベルのキャッシュは、同じアプリケーション内の複数エンティティBeanによって共有されるキャッシュです。entity-cache-name
で指定する値は、weblogic-application.xml
ファイルでアプリケーション・レベルのエンティティ・キャッシュに当てた名前と一致させる必要があります。
weblogic-application.xml
ファイルの詳細は、Oracle WebLogic Serverアプリケーションの開発のエンタープライズ・アプリケーションのデプロイメント記述子の要素を参照してください。
親トピック: entity-cache-name
entity-cache-ref
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor
機能
同じアプリケーションに属する複数のエンティティBeanのインスタンスをキャッシュできるアプリケーション・レベルのエンティティ・キャッシュを表します。アプリケーション・レベルのエンティティ・キャッシュは、weblogic-application.xml
ファイルで宣言されます。
concurrency-strategyを使用し、そのBeanに使用させたい同時実行性のタイプを定義します。concurrency-strategy
はアプリケーション・レベル・キャッシュのキャッシュ戦略と適合していなくてはなりません。たとえば、Exclusive
キャッシュは、concurrency-strategy
がExclusive
であるBeanだけをサポートします。MultiVersion
キャッシュは、Database
、ReadOnly
、およびOptimistic
同時実行性をサポートします。
親トピック: entity-cache-ref
例
<entity-cache-ref> <entity-cache-name>AllEntityCache</entity-cache-name> <read-timeout-seconds>600</read-timeout-seconds> <cache-between-transactions>true</cache-between-transactions> <concurrency-strategy>ReadOnly</concurrency-strategy> <estimated-bean-size>20</estimated-bean-size> </entity-cache-ref>
親トピック: entity-cache-ref
entity-clustering
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor
機能
エンティティBeanがWebLogicクラスタでどのようにレプリケートされるのかを指定します。
-
home-is-clusterable
-
home-load-algorithm
-
home-call-router-class-name
-
use-serverside-stubs
親トピック: entity-clustering
例
<entity-clustering> <home-is-clusterable>True</home-is-clusterable> <home-load-algorithm>random</home-load-algorithm> <home-call-router-class-name>beanRouter</home-call-router-class-name> <use-serverside-stubs>True</use-serverside-stubs> </entity-clustering>
親トピック: entity-clustering
entity-descriptor
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
エンティティBeanに適用する以下のデプロイメント・パラメータを指定します。
-
pool
-
timer-descriptor
-
entity-cache or entity-cache-ref
-
persistence
-
entity-clustering
-
invalidation-target
-
enable-dynamic-queries
親トピック: entity-descriptor
例
<entity-descriptor> <pool>...</pool> <timer-descriptor>...</timer-descriptor> <entity-cache>...</entity-cache> <persistence>...</persistence> <entity-clustering>...</entity-clustering> <invalidation-target>...</invalidation-target> <enable-dynamic-queries>...</enable-dynamic-queries> </entity-descriptor>
親トピック: entity-descriptor
estimated-bean-size
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor
機能
エンティティBeanのインスタンスの推定平均サイズ(バイト単位)を指定します。各インスタンスが消費するメモリーのバイト数の平均値です。
estimated-bean-size
要素は、Beanをキャッシュするのに使用する、アプリケーション・レベルのキャッシュがともにバイト数やMB単位で指定されている場合に併せて使用します。
エンティティBeanインスタンスが消費する正確なバイト数が分からなくても、サイズを指定することにより、ある一時点でキャッシュを共有するBeanに対し相対的な重みを与えることができます。
たとえば、Bean AとBean Bが1000バイトのキャッシュを共有し、Aのサイズが10バイト、Bのサイズが20バイトであるとします。その場合、キャッシュに格納できるのは、最大で、Aのインスタンスで100、Bのインスタンスで50です。Aのインスタンスが100個キャッシュされた場合、Bのインスタンスは0個キャッシュされたことになります。
親トピック: estimated-bean-size
externally-defined
値の範囲: True | False
デフォルト値: なし
親要素:
weblogic-ejb-jar security-role-assignment
機能
特定のセキュリティ・ロールが、デプロイメント記述子の外の、セキュリティ・レルム内で外部定義されていることを示します。セキュリティ・ロールおよびそのprincipal-nameのマッピングが別のところで定義されているため、principal-nameはデプロイメント記述子内では指定されません。このタグは、principal-name
要素のセットの代わりに、指示を行うプレースホルダーとして使用されます。この要素は、非推奨になってWebLogic Server 9.0で削除されたグローバル・ロールの代わりに使用します。
親トピック: externally-defined
finders-load-bean
値の範囲: True | False
デフォルト値: True
親要素:
weblogic-enterprise-bean entity-descriptor persistence
機能
CMPエンティティEJBでのみ有効です。finders-load-bean
は、ファインダ・メソッドの呼出しによってBeanへの参照が返されてからWebLogic ServerがEJBをキャッシュにロードするかどうかを指定します。この要素をTrue
に設定した場合、Beanへの参照がファインダによって返されると、WebLogic ServerはすぐにそのBeanをキャッシュにロードします。この要素をFalse
に設定した場合、WebLogic Serverは、最初のメソッドが呼び出されるまでBeanを自動的にロードしません。この動作は、EJB 1.1の仕様と一致しています。
親トピック: finders-load-bean
例
<entity-descriptor> <persistence> <finders-load-bean>True</finders-load-bean> </persistence> </entity-descriptor>
親トピック: finders-load-bean
generate-unique-jms-client-id
値の範囲: True | False
デフォルト値: False
親要素:
weblogic-ejb-jar weblogic-enterprise-bean message-driven-descriptor
home-call-router-class-name
値の範囲:カスタム・クラスタの有効な名前
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor entity-clustering
および
weblogic-enterprise-bean stateful-session-descriptor stateful-session-clustering
および
weblogic-enterprise-bean stateless-session-descriptor stateless-session-clustering
機能
Beanのメソッド呼出しのルーティングに使用するカスタム・クラスの名前を指定します。このクラスはweblogic.rmi.cluster.CallRouter()
を実装する必要があります。指定すると、このクラスのインスタンスは各メソッド呼出しの前に呼び出されます。ルーター・クラスでは、メソッドのパラメータを基に、ルーティングするサーバーを選択できます。このクラスは、サーバー名を返すか、または現在のロード・アルゴリズムがサーバーを選択する必要があることを示すnullを返します。
親トピック: home-call-router-class-name
home-is-clusterable
値の範囲: True | False
デフォルト値: True
親要素:
weblogic-enterprise-bean entity-descriptor entity-clustering
および
weblogic-enterprise-bean stateful-session-descriptor stateful-session-clustering
および
weblogic-enterprise-bean stateful-session-descriptor stateless-clustering
機能
home-is-clusterable
がTrue
の場合、クラスタ内の複数のWebLogic ServerからEJBをデプロイできます。ホーム・スタブの呼出しは、Beanがデプロイされるサーバー間で負荷が分散されます。Beanのホスト・サーバーにアクセスできなかった場合、呼出しは、Beanを提供する他のサーバーに自動的にフェイルオーバーします。
親トピック: home-is-clusterable
home-load-algorithm
値の範囲: round-robin | random | weight-based | RoundRobinAffinity | RandomAffinity | WeightBasedAffinity
デフォルト値: weblogic.cluster.defaultLoadAlgorithm
の値
親要素:
weblogic-enterprise-bean entity-descriptor entity-clustering
および
weblogic-enterprise-bean stateful-session-descriptor stateful-session-clustering
および
weblogic-enterprise-bean entity-descriptor entity-clustering
機能
クラスタ内のEJBホームのレプリカ間のロード・バランシングに使用するアルゴリズムを指定します。この要素を定義しない場合、WebLogic Serverはサーバー要素、weblogic.cluster.defaultLoadAlgorithm
で指定されたアルゴリズムを使用します。
home-load-algorithm
は以下のいずれかの値に定義できます。
-
round-robin
- Beanのホスト・サーバー間で順番にロード・バランシングを実行します。 -
random
- Beanのホスト・サーバー間でEJBホームのレプリカがランダムにデプロイされます。 -
weight-based
- ホスト・サーバーの現在の負荷に従って、EJBホームのレプリカをデプロイするサーバーが決まります。 -
round-robin-affinity
- サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ラウンドロビン・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。 -
weight-based-affinity
- サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、重みベース・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。 -
random-affinity
- サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ランダム・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。
『Oracle WebLogic Serverクラスタの管理』のEJBsおよびRMIオブジェクトのロード・バランシングに関する項を参照してください。
親トピック: home-load-algorithm
idempotent-methods
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar
機能
同じメソッドを同じ引数で繰返し呼び出したとしても、1回呼び出したときとまったく同じ結果になるように記述される、クラスタ化されたEJBのメソッドのリストを定義します。これにより、フェイルオーバー・ハンドラは、失敗したサーバー上で実際に呼出しがコンパイルされるかどうかを知らなくても、失敗した呼出しを再試行できるようになります。あるメソッドに対し多重呼出し不変メソッドを有効にした場合、EJBスタブは、EJBのホスト・サーバーに接続できるかぎり、あらゆる失敗から自動的に回復することができます。
EJBでクラスタリングが有効である必要があります。クラスタリングを有効にするには、「entity-clustering」、「stateful-session-clustering」、および「stateless-clustering」を参照してください。
ステートレス・セッションBeanホームおよび読取り専用エンティティBeanのメソッドは、自動的に多重呼出し不変に設定されます。これらについては多重呼出し不変を明示的に設定する必要はありません。
親トピック: idempotent-methods
例
<idempotent-method> <method> <description>...</description> <ejb-name>...</ejb-name> <method-intf>...</method-intf> <method-name>...</method-name> <method-params>...</method-params> </method> </idempotent-method>
親トピック: idempotent-methods
identity-assertion
値の範囲: none | supported | required
デフォルト値: なし
親要素:
weblogic-enterprise-bean iiop-security-descriptor
idle-timeout-seconds
指定できる値: 1
- maxSeconds
です。maxSeconds
は整数の最大値です。
デフォルト値: 600
親要素:
weblogic-enterprise-bean entity-descriptor entity-cache
および
weblogic-enterprise-bean entity-descriptor entity-cache-ref
および
weblogic-enterprise-bean stateful-session-descriptor stateful-session-cache
および
weblogic-enterprise-bean stateless-session-descriptor or message-driven-descriptor or entity-descriptor pool
機能
EJBがキャッシュに保持される最長時間を定義します。この時間を過ぎると、キャッシュ内のBeanの数がmax-beans-in-cache
で指定した値を超えている場合、WebLogic ServerではBeanインスタンスが削除されます。削除されたBeanインスタンスに対してはパッシブ化が行われます。詳細については、「ステートフル・セッションEJBのキャッシュとパッシブ化」および「エンティティBeanのプールとキャッシュの管理」を参照してください。
また、フリー・プール内のEJBが削除されるまでの最長アイドル時間を定義します。この時間の経過後、WebLogic ServerはBeanの数がinitial-beans-in-free-pool
の値を下回らない限り、そのBeanをフリー・プールから削除します。
ノート:
idle-timeout-seconds
はentity-cache
要素で使用しますが、WebLogic Server 8.1 SP1とSP2では、エンティティEJBのライフサイクルの管理にその値を使用しません。それらのサービス・パックでは、idle-timeout-seconds
はエンティティBeanがいつキャッシュから削除されるのかに影響を与えません。
親トピック: idle-timeout-seconds
例
次のエントリでは、max-beans-in-cache
の値に達し、Beanがキャッシュに20分保持されている場合、ステートフル・セッションEJB AccountBean
が削除の対象になります。
<weblogic-enterprise-bean> <ejb-name>AccountBean</ejb-name> <stateful-session-descriptor> <stateful-session-cache> <max-beans-in-cache>200</max-beans-in-cache> <idle-timeout-seconds>1200</idle-timeout-seconds> </stateful-session-cache> </stateful-session-descriptor> </weblogic-enterprise-bean>
親トピック: idle-timeout-seconds
iiop-security-descriptor
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
Beanレベルのセキュリティ構成パラメータを指定します。これらのパラメータにより、IORに含まれるIIOPセキュリティ情報が決定します。
親トピック: iiop-security-descriptor
例
<iiop-security-descriptor> <transport-requirements>...</transport-requirements> <client-authentication>supported<client-authentication> <identity-assertion>supported</identity-assertion> </iiop-security-descriptor>
親トピック: iiop-security-descriptor
init-suspend-seconds
値の範囲:任意の整数
デフォルト値: 5
親要素:
weblogic-enterprise-bean message-driven-descriptor
機能
EJBコンテナがJMSリソースの停止を検出したときにMDBのJMS接続を中断する初期秒数を指定します。『Oracle WebLogic ServerメッセージドリブンBeanの開発』のJMSリソース停止中のメッセージ配信の中断の構成に関する項を参照してください。
親トピック: init-suspend-seconds
initial-beans-in-free-pool
指定できる値: 0
- maxBeans
デフォルト値: 0
親要素:
weblogic-enterprise-bean stateless-session-descriptor or message-driven-descriptor or entity-descriptor pool
機能
initial-beans-in-free-pool
の値を指定する場合は、プールの初期サイズを設定することになります。WebLogic Serverは起動時に、Beanクラスごとに指定された数のBeanインスタンスをフリー・プールに格納します。この方法でBeanインスタンスをフリー・プールに格納しておくと、要求が来てから新しいインスタンスを生成せずにBeanに対する初期要求が可能になるため、EJBの初期応答時間が短縮されます。
ノート:
Enterprise JavaBean仕様に基づき、javax.ejb.ActivationConfigProperty
アノテーションはMDBでのみ使用されます。このアノテーションは、セッションまたはエンティティBeanでは使用されません。
親トピック: initial-beans-in-free-pool
initial-context-factory
値の範囲:初期コンテキスト・ファクトリの有効な名前
デフォルト値: weblogic.jndi.WLInitialContextFactory
親要素:
weblogic-enterprise-bean message-destination-descriptor
および
weblogic-enterprise-bean message-driven-descriptor
機能
JMSプロバイダが初期コンテキストの作成に使用する初期コンテキスト・ファクトリを指定します。Oracle WebLogic ServerメッセージドリブンBeanの開発の宛先を考慮したMDBの構成およびinitial-context-factoryの設定方法を参照してください。
親トピック: initial-context-factory
例
<message-driven-descriptor> <initial-context-factory>fiorano.jms.rtl.FioranoInitialContextFactory </initial-context-factory> </message-driven-descriptor>
「message-destination-descriptor」も参照してください。
親トピック: initial-context-factory
integrity
値の範囲: none | supported | required
デフォルト値:なし
親要素:
weblogic-enterprise-bean iiop-security-descriptor transport-requirements
機能
EJBの転送の整合性の要件を指定します。integrity
要素を使用すると、クライアントとサーバー間で、データが途中で変化することなく転送されるようになります。
親トピック: integrity
invalidation-target
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor
機能
コンテナ管理による永続性エンティティEJBが変更された場合に、無効化する読取り専用エンティティEJBを指定します。
ターゲットのejb-name
は読取り専用エンティティEJBでなければならないので、この要素はEJB 2.xのコンテナ管理による永続性エンティティEJBに対してのみ指定できます。
親トピック: invalidation-target
例
<invalidation-target> <ejb-name>StockReaderEJB</ejb-name> </invalidation-target>
親トピック: invalidation-target
is-modified-method-name
値の範囲:有効なエンティティEJBメソッド名
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor persistence
機能
EJBの保存時にWebLogic Serverによって呼び出されるメソッドを指定します。指定したメソッドはブール
値を返す必要があります。メソッドを指定しない場合、WebLogic Serverでは、EJBは常に変更されていると見なされて保存されます。
メソッドを指定して適切な値を設定すると、EJB 1.1準拠のBean、およびBean管理の永続性を使用するBeanのパフォーマンスが向上します。ただし、メソッドの戻り値にエラーがあると、データに矛盾が発生する場合があります。
ノート:
isModified()
は、EJB 2.x仕様に基づく2.x CMPエンティティEJBでは必要ありません。しかし、BMPおよび1.1 CMP EJBには引続き適用されます。コンテナ管理の永続性を使用してEJB 2.xエンティティBeanをデプロイする場合、WebLogic Serverによって、変更されているEJBフィールドが自動的に検出され、そのフィールドのみが基底のデータ・ストアに書き込まれます。
親トピック: is-modified-method-name
例
<entity-descriptor> <persistence> <is-modified-method-name>semidivine</is-modified-method-name> </persistence> </entity-descriptor>
親トピック: is-modified-method-name
isolation-level
値の範囲: TransactionSerializable | TransactionReadCommitted | TransactionReadUncommitted | TransactionRepeatableRead | TransactionReadCommittedForUpdate | TransactionReadCommittedForUpdateNoWait
デフォルト値:基底のデータベースのデフォルト値
親要素:
weblogic-ejb-jar transaction-isolation
機能
EJBのメソッド・レベルのトランザクション・アイソレーション設定を定義します。有効な値は以下のとおりです。
-
TransactionSerializable
- このトランザクションを同時に複数回実行すると、トランザクションを順番に複数回実行することと同じことになります。ノート:
Oracleデータベースの場合は、
TransactionSerializable
アイソレーション・レベルの代わりにTransactionReadCommittedForUpdate
アイソレーション・レベルを使用することをお薦めします。Oracleデータベースは、TransactionSerializable
アイソレーション・レベルではデータの読取りをロックしないためです。また、TransactionSerializable
アイソレーション・レベルでは、Oracleデータベースに対する現在のトランザクションが、Oracle例外ORA-08177「このトランザクションのアクセスをシリアル化できません」
を送出せずに続行することが可能です。TransactionReadCommittedForUpdate
アイソレーション・レベルの詳細については、「Oracleデータベースのみのアイソレーション・レベル」を参照してください -
TransactionReadCommitted
- コミットした他のトランザクションの更新のみをトランザクションで表示できます。 -
TransactionReadUncommitted
- コミットしていない他のトランザクションの更新をトランザクションで表示できます。 -
TransactionRepeatableRead
- トランザクションでデータの一部を読み取ると、そのデータが他のトランザクションで変更されても、最初の読取り時と同じ値が返されます。
親トピック: isolation-level
Oracleデータベースのみの分離レベル
以下の追加の値は、Oracleデータベース、およびコンテナ管理による永続性(CMP) EJBでのみサポートされています。
-
TransactionReadCommittedForUpdate
— Oracleデータベース、およびコンテナ管理による永続性(CMP) EJBでのみサポートされます。この値を使用すると、アイソレーション・レベルはTransactionReadCommitted
に設定され、トランザクションの間、メソッドで実行されるSQLSELECT
文はすべてFOR UPDATE
が付加されて実行されます。この結果、隔離された行が更新用にロックされます。Oracleデータベースで問合せの影響を受ける行をすぐにロックできない場合は、それらの行が解放されるまで待ちます。この状況は、トランザクションでCOMMIT
またはROLLBACK
が実行されるまで続きます。この分離レベルを使用すると、次のエラーを防止できます。
java.sql.SQLException: ORA-08177: can't serialize access for this transaction
このエラーは、Oracleデータベースで
TransactionSerializable
アイソレーション・レベルを使用したときに発生することがあります。ノート:
Oracleデータベースの場合は、
TransactionSerializable
アイソレーション・レベルの代わりにこのアイソレーション・レベル(TransactionReadCommittedForUpdate
)を使用することをお薦めします。Oracleデータベースは、TransactionSerializable
アイソレーション・レベルではデータの読取りをロックしないためです。 -
TransactionReadCommittedForUpdateNoWait
- Oracleデータベース、およびコンテナ管理による永続性(CMP) EJBでのみサポートされます。この値を使用すると、アイソレーション・レベルは
TransactionReadCommitted
に設定され、トランザクションの間、メソッドで実行されるSQLSELECT
文はすべてFOR UPDATE NO WAITが付加されて実行されます。この結果、選択された行が更新用にロックされます。TransactionReadCommittedForUpdate
設定とは違って、必要なときロックがすぐに達成されない場合、TransactionReadCommittedForUpdateNoWait
ではOracle DBMSがNOT WAIT
になります。このため、影響を受けるSELECT
問合せは失敗し、コンテナから例外が送出されます。
異なるアイソレーション・レベルのサポートの詳細については、各データベースのドキュメントを参照してください。
親トピック: isolation-level
jms-client-id
値の範囲:なし
デフォルト値: EJBのejb-name
親要素:
message-driven-descriptor
機能
JMS宛先に接続するときのMDBのクライアントIDを指定します。JMSトピックに対する恒久サブスクリプションで必須です。
connection-factory-jndi-name
でMDBが使用する接続ファクトリを指定した場合、クライアントIDはconfig.xml
内の関連付けられているJMSConnectionFactory
要素のClientID
要素で定義できます。
config.xml
のJMSConnectionFactory
でClientID
を指定しないか、デフォルト接続ファクトリを使用する(connection-factory-jndi-name
を指定しない)場合、メッセージドリブンBeanはjms-client-id
値をそのクライアントIDとして使用します。
親トピック: jms-client-id
jms-polling-interval-seconds
値の範囲:なし
デフォルト値: 10秒
親要素:
message-driven-descriptor
機能
JMS宛先に再接続しにいく間隔の秒数を指定します。各メッセージドリブンBeanは、関連付けられているJMS宛先でリスンします。JMS宛先が別のWebLogic Serverインスタンスまたは外部JMSプロバイダに配置されている場合には、JMS宛先にアクセスできなくなることもあります。この場合、EJBコンテナは自動的にJMSサーバーに再接続しようとします。JMSサーバーが再び起動した時点で、メッセージドリブンBeanは再びメッセージを受信できるようになります。
親トピック: jms-polling-interval-seconds
例
<jms-polling-interval-seconds>5</jms-polling-interval-seconds>
親トピック: jms-polling-interval-seconds
jndi-binding
値の範囲: カスタムJNDI名
デフォルト値:なし
親要素:
weblogic-enterprise-bean
および
weblogic-enterprise-bean resource-description
および
weblogic-enterprise-bean ejb-reference-description
機能
特定のクライアント・ビューに対するJNDI名を示すためにBeanクラスまたはビジネス・インタフェースに適用できるカスタムJNDI名を指定します。インタフェースなしのビューのJNDI名を示すためにBeanクラス適用する場合、className
は省略可能です。
親トピック: jndi-binding
jndi-name
ノート:
このリリースのWebLogic Serverでは、jndi-name
要素は非推奨です。かわりにjndi-binding
を使用します。
値の範囲:有効なJNDI名
デフォルト値:なし
親要素:
weblogic-enterprise-bean
および
weblogic-enterprise-bean resource-description
および
weblogic-enterprise-bean ejb-reference-description
機能
WebLogic Serverで使用可能な実際のEJB、リソース、または参照のJNDI名を指定します。
ノート:
JNDI名をBeanに割り当てるのは望ましくありません。グローバルJNDI名は、クラスタ化サーバーの起動時に大量のマルチキャスト・トラフィックを引き起こします。より適切なプラクティスについては、「EJBリンクの使用」を参照してください。EJBを含むEARライブラリがある場合、JNDI名の競合が起きるため、そのライブラリを参照するアプリケーションを複数デプロイすることはできません。これは、EARライブラリ内の個々のEJBに対してグローバルJNDI名を設定できないからです。グローバルJNDI名はライブラリ全体に対してのみ設定できます。
親トピック: jndi-name
local-jndi-name
ノート:
このリリースのWebLogic Serverでは、local-jndi-name
要素は非推奨です。かわりにjndi-binding
を使用します。
値の範囲:有効なJNDI名
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
Beanのローカル・ホームのJNDI名。Beanがリモート・ホームとローカル・ホームを持つ場合は、それぞれのホームに1つずつのJNDI名を割り当てることもできます。
ノート:
JNDI名をBeanに割り当てるのは望ましくありません。より適切なプラクティスについては、「EJBリンクの使用」を参照してください。
親トピック: local-jndi-name
max-beans-in-cache
指定できる値: 1
- maxBeans
デフォルト値: 1000
親要素:
weblogic-enterprise-bean entity-descriptor entity-cache
および
weblogic-enterprise-bean stateful-session-descriptor stateful-session-cache
機能
メモリーの許容範囲内で、このクラスのオブジェクトの最大数を指定します。max-bean-in-cache
の値に達すると、WebLogic Serverでは、最近クライアントに使用されていないEJBの一部に対してパッシブ化が行われます。また、「ステートフル・セッションEJBのキャッシュとパッシブ化」
で説明されているように、max-beans-in-cacheの値は、EJBをWebLogic Serverのキャッシュからいつ削除するかにも影響を与えます
親トピック: max-beans-in-cache
例
<weblogic-enterprise-bean> <ejb-name>AccountBean</ejb-name> <entity-descriptor> <entity-cache> <max-beans-in-cache>200</max-beans-in-cache> </entity-cache> </entity-descriptor> </weblogic-enterprise-bean>
親トピック: max-beans-in-cache
max-beans-in-free-pool
指定できる値: 0
- maxBeans
デフォルト値: 1000
親要素:
weblogic-enterprise-bean stateless-session-descriptor pool
および
weblogic-enterprise-bean message-driven-descriptor pool
および
weblogic-enterprise-bean entity-descriptor pool
機能
WebLogic Serverは、すべてのエンティティBean、ステートレス・セッションBean、およびメッセージドリブンBeanクラスについてEJBのフリー・プールを保持します。max-beans-in-free-pool
要素は、このフリー・プールのサイズを定義します。
ノート:
Enterprise JavaBean仕様に基づき、javax.ejb.ActivationConfigProperty
アノテーションはMDBでのみ使用されます。このアノテーションは、セッションまたはエンティティBeanでは使用されません。
親トピック: max-beans-in-free-pool
max-messages-in-transaction
値の範囲:すべての正の整数
デフォルト値:なし
親要素:
weblogic-enterprise-bean message-driven-descriptor
max-queries-in-cache
値の範囲:すべての正の整数
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor
機能
WebLogic Server 9.0で導入された要素です。Beanレベルでキャッシュできる読取り専用エンティティ問合せの最大数を指定します。アプリケーション・レベルでの読取り専用エンティティ問合せのキャッシュについては、「問合せキャッシングの使用(読取り専用エンティティBean)」を参照してください。
親トピック: max-queries-in-cache
max-suspend-seconds
値の範囲:任意の整数
デフォルト値: 60
親要素:
weblogic-enterprise-bean message-driven-descriptor
機能
EJBコンテナがJMSリソースの停止を検出したときにMDBのJMS接続を中断する最大秒数を指定します。EJBコンテナがJMSリソースの停止を検出したときにJMS接続が中断しないようにするには、この要素の値を0
に設定します。『Oracle WebLogic ServerメッセージドリブンBeanの開発』のJMSリソース停止中のメッセージ配信の中断の構成に関する項を参照してください。
親トピック: max-suspend-seconds
message-destination-descriptor
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
message-destination-name
指定できる値: ejb-jar.xml
ファイルにある有効なメッセージ定義参照名
デフォルト値:なし
要件:この要素は、EJBがejb-jar.xml
のメッセージ定義参照を指定する場合に必要です。
親要素:
weblogic-enterprise-bean message-destination-descriptor
機能
メッセージ定義参照の名前を指定します。これは、EJBプロバイダによってejb-jar.xml
デプロイメント記述子ファイル内に記載される参照です。
親トピック: message-destination-name
message-driven-descriptor
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
例
<message-driven-descriptor> <pool>...</pool> <timer-descriptor>...</timer-descriptor> <destination-jndi-name>...</destination-jndi-name> <initial-context-factory>...</initial-context-factory> <provider-url>...</provider-url> <connection-factory-jndi-name>...</connection-factory-jndi-name> <jms-polling-interval-seconds>...</jms-polling-interval-seconds> <jms-client-id>...</jms-client-id> <generate-unique-jms-client-id>...</generate-unique-jms-client-id> <durable-subscription-deletion>...</durable-subscription-deletion> <max-messages-in-transaction>...</max-messages-in-transaction> <distributed-destination-connection>...</distributed-destination-connection> <use81-style-polling>...</use81-style-polling> <init-suspend-seconds>...</init-suspend-seconds> <max-suspend-seconds>...</max-suspend-seconds> </message-driven-descriptor>
親トピック: message-driven-descriptor
method
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar transaction-isolation
および
weblogic-ejb-jar idempotent-methods
および
weblogic-ejb-jar retry-methods-on-rollback
例
<method> <description>...</description> <ejb-name>...</ejb-name> <method-intf>...</method-intf> <method-name>...</method-name> <method-params>...</method-params> </method>
親トピック: method
method-intf
値の範囲: Home | Remote | Local | Localhome
デフォルト値:なし
親要素:
weblogic-ejb-jar transaction-isolation method
および
weblogic-ejb-jar idempotent-methods method
機能
WebLogic Serverがアイソレーション・レベルのプロパティを適用するEJBのインスタンスを指定します(メソッドが複数のインタフェースで同じシグネチャを持つ場合)。
親トピック: method-intf
method-name
値の範囲: ejb-jar.xml
で定義したEJBの名前| *
デフォルト値:なし
親要素:
weblogic-ejb-jar transaction-isolation method
および
weblogic-ejb-jar idempotent-methods method
機能
WebLogic Serverがアイソレーション・レベルのプロパティを適用する個々のEJBメソッドの名前を指定します。アスタリスク(*)を使用するとEJBのホームおよびリモート・インタフェースの全メソッドを指定できます。
method-name
を指定する場合、そのメソッドは指定のejb-name
になければなりません。
親トピック: method-name
method-param
値の範囲:メソッド・パラメータの完全修飾Javaタイプ名
デフォルト値:なし
親要素:
weblogic-ejb-jar transaction-isolation method method-params
および
weblogic-ejb-jar idempotent-methods method method-params
method-params
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar transaction-isolation method
および
weblogic-ejb-jar idempotent-methods method
例
method-params
要素には、次のように1つまたは複数のmethod-param
要素が含まれます。
<method-params> <method-param>java.lang.String</method-param> ... </method-params>
親トピック: method-params
network-access-point
値の範囲:カスタム・ネットワーク・アクセス・ポイントの名前
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
EJBでネットワーク通信に使用されるカスタム・ネットワーク・チャネルを割り当てます。ネットワーク・チャネルによって、一連の接続属性が定義されます。『Oracle WebLogic Serverサーバー環境の管理』のネットワーク・リソースの構成に関する項を参照してください。
親トピック: network-access-point
例
<weblogic-enterprise-bean> <network-access-point>SSLChannel</network-access-point> </weblogic-enterprise-bean>
親トピック: network-access-point
passivate-as-principal-name
値の範囲:有効なWebLogic Serverプリンシパル
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
WebLogic Server 8.1 SP01で導入されたpassivate-as-principal-name
要素は、本来はejbPassivate
が匿名プリンシパルで実行される状況で使用されるプリンシパルを指定します。そのような状況では、どのプリンシパルを選択するかは次のルールで決まります。
passivate-as-principal-name
が設定されている場合
そのプリンシパルを使用します。
それ以外の場合
ejb-jar.xml
でBeanに対してrun-as
ロールが指定されている場合
run-as-role-assignment
を設定するためのルールに従ってプリンシパルを使用します。
それ以外の場合
ejbPassivate
を匿名プリンシパルとして実行します。
passivate-as-principal-name
要素は、ejbPassivate
内の処理が匿名プリンシパルよりも高レベルの権限を必要とする場合にのみ指定する必要があります。
この要素は、キャッシュのタイムアウトでパッシブ化が行われたときにステートレス・セッションBeanのejbPassivate
メソッドに影響します。
「remove-as-principal-name」、「create-as-principal-name」、および「principal-name」も参照してください。
親トピック: passivate-as-principal-name
persistence
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor
機能
コンテナ管理の永続性サービスを使用するエンティティEJBでのみ必須です。persistence
要素は、WebLogic ServerのエンティティEJBに対する永続性タイプ、トランザクション・コミット動作、ejbLoad()
動作、およびejbStore()
動作を決定するプロパティを定義します。
-
is-modified-method-name
-
delay-updates-until-end-of-tx
-
finders-load-bean
-
persistence-use
親トピック: persistence
例
<entity-descriptor> <persistence> <is-modified-method-name>...</is-modified-method-name> <delay-updates-until-end-of-tx>...</delay-updates-until-end-of-tx> <finders-load-beand>...</finders-load-bean> <persistence-use>...</persistence-use> </persistence> </entity-descriptor>
親トピック: persistence
persistence-use
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor persistence
機能
コンテナ管理の永続性サービスを使用するエンティティEJBでのみ必須です。persistence-use
要素は、この特定のBeanに使用する永続性タイプの識別子を格納します。
親トピック: persistence-use
例
<persistence-use> <type-identifier>WebLogic_CMP_RDBMS</type-identifier> <type-version>5.1.0</type-version> <type-storage>META-INF/weblogic-cmp-jar.xml</type-storage> </persistence-use>
親トピック: persistence-use
persistent-store-dir
値の範囲:有効なファイル・システム・ディレクトリ
デフォルト値: pstore
親要素:
weblogic-enterprise-bean stateful-session-descriptor
機能
パッシブ化されたステートフル・セッションBeanインスタンスの状態をWebLogic Serverが格納するファイル・システム・ディレクトリを指定します。詳細については、「パッシブ化されたBeanの永続ストア・ディレクトリの指定」を参照してください
親トピック: persistent-store-dir
例
<stateful-session-descriptor> <stateful-session-cache>...</stateful-session-cache> <allow-concurrent-calls>...</allow-concurrent-calls> <persistent-store-dir>MyPersistenceDir</persistent-store-dir> <stateful-session-clustering>...</stateful-session-clustering> <allow-remove-during-transaction> </stateful-session-descriptor>
親トピック: persistent-store-dir
persistent-store-logical-name
値の範囲:ファイル・システムの永続ストアの有効な名前
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor timer-descriptor
および
weblogic-enterprise-bean message-driven-descriptor timer-descriptor
pool
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
stateless-session-descriptor or message-driven-descriptor
および
entity-descriptor
機能
エンティティEJB、ステートレス・セッションEJB、およびメッセージドリブンEJBのWebLogic Serverフリー・プールの動作を構成します。次のオプションがあります。
-
max-beans-in-free-pool
-
initial-beans-in-free-pool
-
idle-timeout-seconds
親トピック: pool
例
<stateless-session-descriptor> <pool> <max-beans-in-free-pool>500</max-beans-in-free-pool> <initial-beans-in-free-pool>250</initial-beans-in-free-pool> </pool> </stateless-session-descriptor>
親トピック: pool
principal-name
値の範囲:有効なWebLogic Serverプリンシパル名
デフォルト値:なし
親要素:
weblogic-ejb-jar security-role-assignment
機能
指定したrole-name
に適用される実際のWebLogic Serverプリンシパルの名前を指定します。security-role-assignment
要素に少なくとも1つのprincipal-name
が必要です。各role-name
に対し複数のprincipal-name
を定義できます。
親トピック: principal-name
provider-url
値の範囲:有効なURL
デフォルト値: t3://localhost:7001
親要素:
weblogic-enterprise-bean message-destination-descriptor
および
weblogic-enterprise-bean message-driven-descriptor
機能
InitialContext
で使用されるURLを指定します。Oracle WebLogic ServerメッセージドリブンBeanの開発の宛先を考慮したMDBの構成およびprovider-urlの設定方法を参照してください。
親トピック: provider-url
例
<message-driven-descriptor> <provider-url>WeblogicURL:Port</provider-url> </message-driven-descriptor>
「message-destination-descriptor」も参照してください。
親トピック: provider-url
read-timeout-seconds
指定できる値: 0
- maxSeconds
です。maxSeconds
は整数の最大値です。
デフォルト値: 600
親要素:
weblogic-enterprise-bean entity-descriptor entity-cache
または
weblogic-enterprise-bean entity-descriptor entity-cache-ref
機能
Read-Only
エンティティBeanでejbLoad
を呼び出す間隔の秒数を指定します。値を0にすると、WebLogic ServerはBeanがキャッシュに送られたときだけejbLoad()
を呼び出します。
親トピック: read-timeout-seconds
例
次の例では、インスタンスが最初にキャッシュされた場合にのみWebLogic ServerがAccountBean
クラスのインスタンスに対してejbLoad()
を呼び出します。
<weblogic-enterprise-bean> <ejb-name>AccountBean</ejb-name> <entity-descriptor> <entity-cache> <read-timeout-seconds>0</read-timeout-seconds> </entity-cache> </entity-descriptor> </weblogic-enterprise-bean>
親トピック: read-timeout-seconds
remote-client-timeout
指定できる値: 0
- maxSeconds
です。maxSeconds
は整数の最大値です。
デフォルト値: 0
親要素:
weblogic-enterprise-bean
機能
リモートRMIクライアントがタイムアウトするまでの待機時間を指定します。Oracle WebLogic Server RMIアプリケーションの開発の読取りタイムアウトの使用を参照してください。
親トピック: remote-client-timeout
例
以下のエントリの場合、リモートRMIクライアントは5秒待機してからタイムアウトします。
<weblogic-enterprise-bean> <ejb-name>AccountBean</ejb-name> ... <remote-client-timeout>5</remote-client-timeout> </weblogic-enterprise-bean>
親トピック: remote-client-timeout
remove-as-principal-name
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
このパラメータは、ejbRemove
内の処理が匿名プリンシパル以上の権限を必要とする場合にのみ指定する必要があります。
WebLogic Server 8.1 SP1で導入されたremove-as-principal-name
要素は、本来はejbRemove
が匿名プリンシパルで実行される状況で使用されるプリンシパルを指定します。そのような状況では、どのプリンシパルを選択するかは次のルールで決まります。
remove-as-principal-name
が設定されている場合
そのプリンシパルを使用します。
それ以外の場合
ejb-jar.xml
でBeanに対してrun-as
ロールが指定されている場合
run-as-role-assignment
を設定するためのルールに従ってプリンシパルを使用します。
それ以外の場合
ejbRemove
を匿名プリンシパルとして実行します。
remove-as-principal-name
要素は、ejbRemove
内の処理が匿名プリンシパルよりも高レベルの権限を必要とする場合にのみ指定する必要があります。
この要素は、ステートレス・セッションBeanとメッセージドリブンBeanのejbRemove
メソッドに影響します。
「passivate-as-principal-name」、「create-as-principal-name」、および「principal-name」も参照してください。
親トピック: remove-as-principal-name
replication-type
値の範囲: InMemory | None
デフォルト値: None
親要素:
weblogic-enterprise-bean stateful-session-descriptor stateful-session-clustering
機能
クラスタ内のWebLogic Serverインスタンスのステートフル・セッションEJBの状態をWebLogic Serverがレプリケートするかどうかを指定します。InMemory
を指定した場合、EJBの状態はレプリケートされます。None
を指定した場合、状態はレプリケートされません。
親トピック: replication-type
resource-env-ref-name
値の範囲: ejb-jar.xml
ファイルにある有効なリソース環境参照名
デフォルト値:なし
親要素:
weblogic-enterprise-bean resource-env-description
res-ref-name
値の範囲: ejb-jar.xml
ファイルにある有効なリソース参照名
デフォルト値:なし
親要素:
weblogic-enterprise-bean resource-description
機能
resourcefactory
参照の名前を指定します。これは、EJBプロバイダによってejb-jar.xml
デプロイメント記述子ファイル内に記載される参照です。EJBがejb-jar.xml
のリソース参照を指定する場合にのみ必須になります。
親トピック: res-ref-name
resource-adapter-jndi-name
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar weblogic-enterprise-bean message-driven-descriptor
resource-description
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
ejb-jar.xml
に定義されているリソース参照をWebLogic Server内に用意されている実際のリソースのJNDI名にマップします。
親トピック: resource-description
例
<resource-description> <res-ref-name>. . .</res-ref-name> <jndi-name>...</jndi-name> </resource-description> <ejb-reference-description> <ejb-ref-name>. . .</ejb-ref-name> <jndi-name>. . .</jndi-name> </ejb-reference-description>
親トピック: resource-description
resource-env-description
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
ejb-jar.xml
に定義されているリソース環境参照をWebLogic Server内に用意されている実際のリソースのJNDI名にマップします。
親トピック: resource-env-description
例
<resource-env-description> <resource-env-ref-name>. . .</resource-env-ref-name> <jndi-name>...</jndi-name> </reference-env-description>
jndi-name
が有効なURLでない場合、WebLogic ServerはそれをURLに対応し、すでにJNDIツリーにバインドされているオブジェクトとして取り扱い、LinkRef
とそのjndi-name
をバインドします。
親トピック: resource-env-description
resource-link
値の範囲: JMSモジュール内の有効なリソース
デフォルト値:なし
親要素:
weblogic-enterprise-bean message-destination-descriptor
retry-count
値の範囲:任意の正の整数
ノート:
この値を0以下に設定することは可能ですが、推奨されません。この値が1以上でない場合、EJBコンテナはトランザクションを再試行しません。
デフォルト値:なし
親要素:
weblogic-ejb-jar retry-methods-on-rollback
retry-methods-on-rollback
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar
機能
ここで指定したメソッドに対して、EJBコンテナはロールバックされたコンテナ管理によるトランザクションを自動的に再試行します。自動的なトランザクションの再試行は、コンテナ管理のトランザクションの境界設定を使用するセッションBeanおよびエンティティBeanについて、サポートされています。また、この要素で指定されたメソッドに関わらず、EJBコンテナは、システム例外に基づくエラーが原因で失敗したトランザクションは再試行しません。
親トピック: retry-methods-on-rollback
role-name
値の範囲:有効なアプリケーション・ロール名
デフォルト値:なし
親要素:
weblogic-enterprise-bean security-role-assignment
機能
EJBプロバイダがejb-jar.xml
デプロイメント記述子に指定したアプリケーションのロール名を示します。要素の次のprincipal-name
要素で、WebLogic Serverプリンシパルを、指定したrole-name
にマップします。
親トピック: role-name
run-as-identity-principal
値の範囲:有効なセキュリティ・プリンシパル名
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
ノート:
run-as-identity-principal
要素は、このリリースのWebLogic Serverでは非推奨です。かわりにrun-as-principal-name
を使用します。
run-as-identity-principal
要素は、ejb-jar.xml
デプロイメント記述子で、セキュリティID run-as-role-name
を指定したBeanのrun-asプリンシパルとして使用されるセキュリティ・プリンシパル名を指定します。
run-as-role-nameのrun-as-identity-principalまたはrun-as-principal-nameへのマッピングがどのようにして生じるかの説明は、run-as-role-assignment
要素のコメントを参照してください。
親トピック: run-as-identity-principal
run-as-principal-name
値の範囲:有効なプリンシパル
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
ejb-jar.xml
デプロイメント記述子で、security-identity
run-as role-name
を指定したBeanのrun-asプリンシパルとして使用されるセキュリティ・プリンシパル名を指定します。
run-as role-name
のrun-as-principal-name
へのマッピングがどのようにして生じるかの説明は、run-as-role-assignment
要素のコメントを参照してください。
親トピック: run-as-principal-name
run-as-role-assignment
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
ejb-jar.xml
デプロイメント記述子ファイルで指定されたsecurity-identity run-as role-name
をrun-as-principal-name
にマップします。
ここで指定した特定のrole-nameに対するrun-as-principal-name
の値は、ejb-jar.xml
デプロイメント記述子内のすべてのBeanを対象とし、role-nameをsecurity-identity run-as-role-name
として指定したすべてのBeanに適用されます。
ここで指定したrun-as-principal-name
値は、そのBeanのweblogic-enterprise-bean
要素の下でrun-as-principal-nameを指定することによって、個々のBeanレベルでオーバーライドできます。
ノート:
特定のBeanについて、run-as-role-assignment
またはBean固有のrun-as-principal-name
タグでrun-as-principal-name
が指定されていない場合、EJBコンテナはweblogic-enterprise-bean
security-role-assignment
のセキュリティ・ユーザーの最初のprincipal-name
をrole-name
として選択し、そのprincipal-name
をrun-as-principal-name
として使用します。
親トピック: run-as-role-assignment
例
ejb-jar.xml
デプロイメント記述子ファイルが、次のような状況であると仮定します。
-
Beans 'A_EJB_with_runAs_role_X'および'B_EJB_with_runAs_role_X'
security-identity run-as role-name 'runAs_role_X'を指定します。
-
Bean 'C_EJB_with_runAs_role_Y'
security-identity run-as role-name 'runAs_role_Y'を指定します。
対応するデプロイメント記述子ファイルweblogic-ejb-jar.xml
から抜粋した次のコードを検討してください。
<weblogic-ejb-jar> <weblogic-enterprise-bean> <ejb-name> A_EJB_with_runAs_role_x </ejb-name> </weblogic-enterprise-bean> <weblogic-enterprise-bean> <ejb-name> B_EJB_with_runAs_role_X </ejb-name> <run-as-principal-name> Joe </run-as-principal-name> </weblogic-enterprise-bean> <weblogic-enterprise-bean> <ejb-name> C_EJB_with_runAs_role_Y </ejb-name> </weblogic-enterprise-bean> <security-role-assignment> <role-name> runAs_role_Y </role-name> <principal-name> first_principal_of_role_Y </principal-name> <principal-name> second_principal_of_role_Y </principal-name> </security-role-assignment> <run-as-role-assignment> <role-name> runAs_role_X </role-name> <run-as-principal-name> Fred </run-as-principal-name> </run-as-role-assignment> </weblogic-ejb-jar>
各Beanは、そのrun-as-principal-name
として異なるプリンシパル名を選択します。
親トピック: run-as-role-assignment
A_EJB_with_runAs_role_X
このBeanのrun-as-role-nameは「runAs_role_X」です。使用するプリンシパルの名前のルックアップには、jarスコープの<run-as-role-assignment>
マッピングが使用されます。
<run-as-role-assignment>
マッピングにより、<role-name>
「runAs_role_X」に対して、<run-as-principal-name>
「Fred」を使用すべきであることが指定されます。
「Fred」が、使用されるプリンシパル名です。
親トピック: run-as-role-assignment
B_EJB_with_runAs_role_X
このBeanのrun-as-role-nameも「runAs_role_X」です。このBeanは使用するプリンシパルの名前のルックアップにjarスコープの<run-as-role-assignment>
を使用することはありません。なぜなら、この値はこのBeanの<weblogic-enterprise-bean> <run-as-principal-name>
値である「Joe」でオーバーライドされているからです。
「Joe」が、使用されるプリンシパル名です。
親トピック: run-as-role-assignment
C_EJB_with_runAs_role_Y
このBeanのrun-as-role-nameは「runAs_role_Y」です。「runAs_role_Y」のrun-asプリンシパル名としての明示的なマッピングはありません。つまり、「runAs_role_Y」に対するjarスコープの<run-as-role-assignment>
も、Beanスコープの<run-as-principal-name>
も、このBeanのweblogic-enterprise-bean
では指定されていません。
使用するプリンシパル名を決定するには、<role-name>
「runAs_role_Y」の<security-role-assignment>
を検証します。ユーザー(つまり、グループではない)に対応する最初の<principal-name>
が選択されます。
「first_principal_of_role_Y」が、使用されるプリンシパル名です。
親トピック: run-as-role-assignment
security-permission
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar
機能
Java EE Sandboxと関連するセキュリティ権限を指定します。
詳細は、セキュリティ権限の仕様を参照してください。
http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html
親トピック: security-permission
例
<security-permission> <description>Optional explanation goes here</description> <security-permission-spec> ... </security-permission-spec> </security-permission>
親トピック: security-permission
security-permission-spec
値の範囲:なし
デフォルト値:なし
親要素:
security-permission
機能
セキュリティ・ポリシー・ファイル構文に基づいて単一のセキュリティ権限を指定します。
詳細は、セキュリティ権限の仕様を参照してください。
http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html
親トピック: security-permission-spec
security-role-assignment
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar
機能
ejb-jar.xml
ファイルのアプリケーション・ロールをWebLogic Serverのセキュリティ・プリンシパルの名前にマップします。
親トピック: security-role-assignment
例
<security-role-assignment> <role-name>PayrollAdmin</role-name> <principal-name>Tanya</principal-name> <principal-name>system</principal-name> <externally-defined>True</externally-defined> ... </security-role-assignment>
親トピック: security-role-assignment
service-reference-description
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
ejb-jar.xml
内のWebサービス宛先の参照を、WebLogic Serverの実際のWebサービスにマップします。
-
wsdl-url
— リモートWebサービスを呼び出すためのスタブを作成するためにクライアントによって使用される、参照対象Webサービスの動的wsdl
のURL。 -
port-info
-wsdl
に指定されるwsdl:port
情報を定義します。 -
port-name
-wsdl:port
のローカル名を定義します。 -
stub-property
— クライアント・サイドのスタブで設定されるプロパティ。javax.xml.rpc.Stub._setProperty(prop_name, prop_value)
と同じ効果があります。
例
<service-reference-description> <service-ref-name>service/WebServiceBroker</service-ref-name> <wsdl-url> http://@PROXY_SERVER@/webservice/BrokerServiceBean?wsdl </wsdl-url> <call-property>...</call-property> <port-info> <port-name>BrokerServiceIntfPort</port-name> <stub-property> <name>javax.xml.rpc.service.endpoint.address</name> <value>http://@PROXY_SERVER@/webservice/BrokerServiceBean<;/value> </stub-property> </port-info> </service-reference-description>
session-timeout-seconds
値の範囲: (指定なし)
デフォルト値: idle-timeout-seconds
親要素:
weblogic-enterprise-bean stateful-session-descriptor stateful-session-cache
機能
EJBコンテナがパッシブ化されたステートフル・セッションBeanをどのくらいディスクに置いておくのかを指定します。コンテナは、Beanインスタンスをディスクにパッシブ化した後にパッシブ化されたEJBのsession-timeout-seconds
を削除します。session-timeout-seconds
を指定しない場合、デフォルトはidle-timeout-seconds
で指定された値です。
親トピック: session-timeout-seconds
例
<stateful-session-descriptor>
<stateful-session-cache>
<max-beans-in-cache>4</max-beans-in-cache>
<idle-timeout-seconds>5</idle-timeout-seconds>
<session-timeout-seconds>120</session-timeout-seconds>
<cache-type>LRU</cache-type>
</stateful-session-cache>
</stateful-session-descriptor>
親トピック: session-timeout-seconds
singleton-bean-call-router-class-name
値の範囲:有効なカスタム・クラス名
デフォルト値:なし
親要素:
weblogic-enterprise-bean singleton-session-descriptor singleton-clustering
機能
Beanのメソッド呼出しのルーティングに使用するカスタム・クラスの名前を指定します。このクラスはweblogic.rmi.cluster.CallRouter()
を実装する必要があります。指定すると、このクラスのインスタンスは各メソッド呼出しの前に呼び出されます。ルーター・クラスでは、メソッドのパラメータを基に、ルーティングするサーバーを選択できます。このクラスは、サーバー名を返すか、または現在のロード・アルゴリズムがサーバーを選択する必要があることを示すnullを返します。
singleton-bean-is-clusterable
値の範囲: true | false
デフォルト値: false
親要素:
weblogic-enterprise-bean singleton-session-descriptor
機能
Beanのリモート・ビジネス・ビューをクラスタ化可能としてマークし、ロード・バランシングおよびフェイルオーバーをサポートします。
singleton-bean-is-clusterable
がTrue
の場合、EJBをクラスタ内の複数のWebLogic Serverからデプロイできます。ホーム・スタブの呼出しは、Beanがデプロイされるサーバー間で負荷が分散されます。Beanのホスト・サーバーにアクセスできなかった場合、呼出しは、Beanを提供する他のサーバーに自動的にフェイルオーバーします。
singleton-bean-load-algorithm
値の範囲: round-robin | random | weight-based | RoundRobinAffinity | RandomAffinity | WeightBasedAffinity
デフォルト値: weblogic.cluster.defaultLoadAlgorithm
の値
親要素:
weblogic-enterprise-bean singleton-session-descriptor singleton-clustering
機能
EJBホームのレプリカ間のロード・バランシングに使用するアルゴリズムを指定します。
singleton-bean-load-algorithm
を次のいずれかの値として定義できます。
-
round-robin
- Beanのホスト・サーバー間で順番にロード・バランシングを実行します。 -
random
- Beanのホスト・サーバー間でランダムにロード・バランシングを実行します。 -
weight-based
- サーバーの現在の負荷に応じてロード・バランシングを実行します。 -
round-robin-affinity
- サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ラウンドロビン・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。 -
weight-based-affinity
- サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、重みベース・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。 -
random-affinity
- サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ランダム・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。
『Oracle WebLogic Serverクラスタの管理』のEJBsおよびRMIオブジェクトのロード・バランシングに関する項を参照してください。
singleton-clustering
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean singleton-session-descriptor
機能
WebLogic Serverがクラスタ内のシングルトン・セッションEJBインスタンスをレプリケートする方法を決めるオプションを指定します。
親トピック: singleton-clustering
例
<singleton-clustering><singleton-bean-is-clusterable>
True
</singleton-bean-is-clusterable>
<singleton-bean-load-algorithm>
random</singleton-bean-load-algorithm>
<singleton-bean-call-router-class-name>
beanRouter
</singleton-bean-call-router-class-name>
<singleton-bean-methods-are-idempotent>
True
</singleton-bean-methods-are-idempotent> </singleton-clustering>
親トピック: singleton-clustering
singleton-session-descriptor
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
WebLogic Serverのシングルトン・セッションEJBに対するキャッシュ、クラスタ化、および永続性などのデプロイメント動作を定義します。
親トピック: singleton-session-descriptor
例
<singleton-session-descriptor><pool>...</pool>
<singleton-clustering>...</singleton-clustering> </singleton-session-descriptor>
親トピック: singleton-session-descriptor
stateful-session-cache
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean stateful-session-descriptor
機能
ステートフル・セッションEJBインスタンスのキャッシュに使用する以下のオプションを定義します。
-
max-beans-in-cache
-
idle-timeout-seconds
-
session-timeout-sections
-
cache-type
ステートフル・セッションBeanのキャッシュの詳細については、「ステートフル・セッションEJBのキャッシュとパッシブ化」を参照してください。
親トピック: stateful-session-cache
例
次の例では、stateful-session-cache
要素の指定方法を示します。
<stateful-session-cache> <max-beans-in-cache>...</max-beans-in-cache> <idle-timeout-seconds>...</idle-timeout-seconds> <session-timeout-seconds>...</session-timeout-seconds> <cache-type>...</cache-type> </stateful-session-cache>
親トピック: stateful-session-cache
stateful-session-clustering
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean stateful-session-descriptor
機能
WebLogic Serverがクラスタ内のステートフル・セッションEJBインスタンスをレプリケートする方法を決める以下のオプションを指定します。
-
home-is-clusterable
-
home-load-algorithm
-
home-call-router-class-name
-
replication-type
親トピック: stateful-session-clustering
例
<stateful-session-clustering><home-is-clusterable>True</home-is-clusterable>
<home-load-algorithm>random</home-load-algorithm>
<home-call-router-class-name>beanRouter</home-call-router-class-name>
<replication-type>InMemory</replication-type> </stateful-session-clustering>
親トピック: stateful-session-clustering
stateful-session-descriptor
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
WebLogic Serverのステートレス・セッションEJBに対するキャッシュ、クラスタ化、および永続性などのデプロイメント動作を定義します。
親トピック: stateful-session-descriptor
例
<stateful-session-descriptor><stateful-session-cache>...</stateful-session-cache>
<allow-concurrent-calls>...</allow-concurrent-calls>
<allow-remove-during-transaction>...
</allow-remove-during-transaction>
<persistent-store-dir>/myPersistenceStore</persistent-store-dir>
<stateful-session-clustering>...</stateful-session-clustering> </stateful-session-descriptor>
親トピック: stateful-session-descriptor
stateless-bean-call-router-class-name
値の範囲:有効なカスタム・クラス名
デフォルト値:なし
親要素:
weblogic-enterprise-bean stateless-session-descriptor stateless-clustering
機能
Beanのメソッド呼出しのルーティングに使用するカスタム・クラスの名前を指定します。このクラスはweblogic.rmi.cluster.CallRouter()
を実装する必要があります。指定すると、このクラスのインスタンスは各メソッド呼出しの前に呼び出されます。ルーター・クラスでは、メソッドのパラメータを基に、ルーティングするサーバーを選択できます。このクラスは、サーバー名を返すか、または現在のロード・アルゴリズムがサーバーを選択する必要があることを示すnullを返します。
stateless-bean-is-clusterable
値の範囲: True | False
デフォルト値: True
親要素:
weblogic-enterprise-bean stateless-session-descriptor stateless-clustering
機能
stateless-bean-is-clusterable
がTrue
の場合、EJBをクラスタ内の複数のWebLogic Serverからデプロイできます。ホーム・スタブの呼出しは、Beanがデプロイされるサーバー間で負荷が分散されます。Beanのホスト・サーバーにアクセスできなかった場合、呼出しは、Beanを提供する他のサーバーに自動的にフェイルオーバーします。
stateless-bean-load-algorithm
値の範囲: round-robin | random | weight-based | RoundRobinAffinity | RandomAffinity | WeightBasedAffinity
デフォルト値: weblogic.cluster.defaultLoadAlgorithm
の値
親要素:
weblogic-enterprise-bean stateless-session-descriptor stateless-clustering
機能
EJBホームのレプリカ間のロード・バランシングに使用するアルゴリズムを指定します。
stateless-bean-load-algorithm
を以下のいずれかの値で定義できます。
-
round-robin
- Beanのホスト・サーバー間で順番にロード・バランシングを実行します。 -
random
- Beanのホスト・サーバー間でランダムにロード・バランシングを実行します。 -
weight-based
- サーバーの現在の負荷に応じてロード・バランシングを実行します。 -
round-robin-affinity
- サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ラウンドロビン・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。 -
weight-based-affinity
- サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、重みベース・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。 -
random-affinity
- サーバー・アフィニティが外部Javaクライアントとサーバー・インスタンスの接続を管理し、ランダム・ロード・バランシングがサーバー・インスタンス間の接続に使用されます。
『Oracle WebLogic Serverクラスタの管理』のEJBsおよびRMIオブジェクトのロード・バランシングに関する項を参照してください。
stateless-clustering
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean stateless-session-descriptor
機能
WebLogic Serverがクラスタ内のステートレス・セッションEJBインスタンスをレプリケートする方法を決めるオプションを指定します。
親トピック: stateless-clustering
例
<stateless-clustering><stateless-bean-is-clusterable>
True
</stateless-bean-is-clusterable>
<stateless-bean-load-algorithm>
random</stateless-bean-load-algorithm>
<stateless-bean-call-router-class-name>
beanRouter
</stateless-bean-call-router-class-name>
<stateless-bean-methods-are-idempotent>
True
</stateless-bean-methods-are-idempotent> </stateless-clustering>
親トピック: stateless-clustering
stateless-session-descriptor
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
WebLogic Serverのステートレス・セッションEJBに対するキャッシュ、クラスタ化、および永続性などのデプロイメント・パラメータを定義します。
親トピック: stateless-session-descriptor
例
<stateless-session-descriptor><pool>...</pool>
<stateless-clustering>...</stateless-clustering> </stateless-session-descriptor>
親トピック: stateless-session-descriptor
stick-to-first-server
値の範囲: TrueまたはFalse
デフォルト値: False
親要素:
weblogic-enterprise-bean
機能
クラスタにセッション維持型ロード・バランシングを定義します。最初のリクエストをサービスするために選ばれたサーバーが、後続のすべてのリクエストにも使用されます。
親トピック: stick-to-first-server
timer-descriptor
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor
または
message-driven-descriptor
または
singleton-session-descriptor
または
stateless-session-descriptor
timer-implementation
値の範囲:
有効な値は次のとおりです。
-
Clustered
- タイマーがクラスタ対応であることを指定します。このオプションを選択すると、EJBタイマーに対して自動フェイルオーバー、ロード・バランシング、クラスタ内の強化したアクセシビリティなどの機能が提供されます。WebLogic ServerのクラスタにデプロイされるEJBの場合はこのオプションをお薦めします。 -
Local
- タイマーが作成されたサーバー上でのみタイマーが動作し、そのサーバー上のBeanからしか見えないことを指定します。この要素をLocal
に設定すると、EJBをクラスタにデプロイし、タイマーを作成するためにEJBを呼び出した場合、その呼出しはクラスタ内のいずれかのサーバーに届きます。別の呼出し(タイマーの取り消しなど)もクラスタ内のどのサーバーにも届く可能性があり、必ずしも、タイマーを作成する呼出しが届いた同じサーバーに届くとは限りません。たとえば、タイマーを作成する呼出しがserver1
にリダイレクトされ、タイマーを取り消す呼出しがserver2
にリダイレクトされた場合、server2
にあるEJBにはserver1
にあるタイマーが見えないため、タイマーを取り消すことはできません。
ローカル・タイマーを使用するときにこの制限を回避するには、以下のいずれかの方法を使用できます。
-
クラスタ内の1つのサーバーにEJBデプロイメントを固定します。こうすると、EJBに対するすべての呼出しはEJBが固定されているサーバーに届き、すべてのタイマーはその同じサーバー上に存在することになります。ただし、この方法を使用すると、そのEJBはロード・バランシングやフェイルオーバーなどのクラスタ化の利点を利用できなくなります。
-
JMSトピックをリスンするメッセージドリブンBean (MDB)を使用して、クラスタ内のすべてのサーバーにタイマーを取り消す呼出しが届くようにします。タイマーを取り消すメッセージはJMSトピックにパブリッシュされ、各サーバー上のMDBによって処理されます。次に、各サーバー上のMDBはBeanの
cancelTimer
メソッドを呼び出します。ただし、この方法を使用するとアプリケーションがより複雑になり、すべてのサーバー上でタイマーを取り消そうとするのは効率がよくません。
デフォルト値: Local
(ファイル・ストアの現在のEJBタイマー・サービスを使用)
親要素:
weblogic-ejb-jar
transaction-descriptor
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean
機能
WebLogic Serverのトランザクション動作を定義するオプションを指定します。現在、この要素にはtrans-timeout-seconds
という子要素だけがあります。
親トピック: transaction-descriptor
例
<transaction-descriptor> <trans-timeout-seconds>20</trans-timeout-seconds> </transaction-descriptor>
親トピック: transaction-descriptor
transaction-isolation
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar
例
<transaction-isolation><isolation-level>...</isolation-level>
<method>
<description>...</description>
<ejb-name>...</ejb-name>
<method-intf>...</method-intf>
<method-name>...</method-name>
<method-params>...</method-params>
</method> </transaction-isolation>
詳細については、「isolation-level」を参照してください
親トピック: transaction-isolation
transport-requirements
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-enterprise-bean iiop-security-descriptor
例
<iiop-security-descriptor><transport-requirements>
<confidentiality>supported</confidentiality>
<integrity>supported</integrity>
<client-cert-authentication>suppoted
</client-cert-authentication>
</transport-requirements> </iiop-security-descriptor>
親トピック: transport-requirements
trans-timeout-seconds
値の範囲: 0
- max
デフォルト値:ドメイン・レベルJTA構成によるもの。
親要素:
weblogic-enterprise-bean transaction-descriptor
機能
EJBのコンテナで初期化されたトランザクションの最長継続時間を指定します。トランザクションの継続時間がtrans-timeout-seconds
の値を超えると、WebLogic Serverによってトランザクションがロールバックされます。
親トピック: trans-timeout-seconds
type-identifier
値の範囲:有効な文字列。WebLogic_CMP_RDBMS
はWebLogic ServerのRDBMSベースの永続性を指定します。
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor persistence persistence-use
機能
コンテナ管理の永続性サービスを使用するエンティティEJBでのみ必須です。エンティティEJBの永続性タイプを指定します。WebLogic Server RDBMSベースの永続性では、WebLogic_CMP_RDBMS
という識別子を使用します。別の永続性ベンダーを使用している場合の正しいtype-identifier
についてはベンダーのドキュメントを参照してください。
親トピック: type-identifier
例
WebLogic Server RDBMSベースの永続性に関する完全な永続性タイプの定義の例については、「persistence-use」を参照してください。
親トピック: type-identifier
type-storage
値の範囲:有効な文字列
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor persistence persistence-use
機能
コンテナ管理の永続性サービスを使用するエンティティEJBでのみ必須です。この永続性タイプのデータを格納するファイルの絶対パスを定義します。パスは、EJBのデプロイメントJARファイルまたはデプロイメント・ディレクトリの最上位を基準にしたファイルの場所を指定する必要があります。
WebLogic Server RDBMSベースの永続性では通常、Beanの永続性データを格納するのにweblogic-cmp-jar.xml
というXMLファイルを使用します。このファイルは、JARファイルのMETA-INF
サブディレクトリにあります。
親トピック: type-storage
例
WebLogic Server RDBMSベースの永続性に関する完全な永続性タイプの定義の例については、「persistence-use」を参照してください。
親トピック: type-storage
type-version
値の範囲:有効な文字列
デフォルト値:なし
親要素:
weblogic-enterprise-bean entity-descriptor persistence persistence-use
機能
同じ永続性タイプの複数バージョンがインストールされている場合に、コンテナ管理による永続性サービスを使用するエンティティEJBの場合に必須です。指定した永続性タイプのバージョンを指定します。たとえば、WebLogic 2.0 CMPの永続性の場合は、次の値を使用します。
6.0
WebLogic 1.1 CMPの永続性の場合は、次の値を使用します。
5.1.0
この要素は、同じ永続性タイプの複数のバージョンがインストールされている場合に必須です。
WebLogic ServerのRDBMSベースの永続性を使用する場合、指定したバージョンは、WebLogic ServerのRDBMS永続性バージョンと完全に一致させる必要があります。バージョンが一致していないと、次のエラーが発生します。
weblogic.ejb.persistence.PersistenceSetupException: Error initializing the CMP Persistence Type for your bean: No installed Persistence Type matches the signature of (identifier 'Weblogic_CMP_RDBMS', version 'version_number').
親トピック: type-version
例
WebLogic Server RDBMSベースの永続性に関する完全な永続性タイプの定義の例については、「persistence-use」を参照してください。
親トピック: type-version
use-serverside-stubs
値の範囲: true | false
デフォルト値: false
親要素:
weblogic-enterprise-bean entity-descriptor entity-clustering
および
weblogic-enterprise-bean stateful-session-descriptor stateful-session-clustering
および
weblogic-enterprise-bean entity-descriptor entity-clustering
use81-style-polling
値の範囲: true | false
デフォルト値: false
親要素:
weblogic-ejb-jar weblogic-enterprise-bean message-driven-descriptor
機能
WLSバージョン8.1方式のポーリングの後方互換性を有効にします。
WLSバージョン8.1以前では、バッチ処理が有効になっているトランザクション対応MDBは、デプロイ済の各MDBごとに専用のポーリング・スレッドを作成していました。このポーリング・スレッドはdispatch-policy
で指定されたプールから割り当てられるものではなく、システムで動作している他のすべてのスレッドに追加される、完全に新しいスレッドでした。『Oracle WebLogic Serverのパフォーマンスのチューニング』のWLS 10.0以前の方式のポーリングに対する後方互換性に関する項を参照してください。
親トピック: use81-style-polling
work-manager
値の範囲:なし
デフォルト値:なし
親要素:
weblogic-ejb-jar
機能
EJBの作業要求を管理するワーク・マネージャを指定します。
ワーク・マネージャの詳細は、Oracle WebLogic Serverサーバー環境の管理のワーク・マネージャを使用したスケジューリング済作業の最適化を参照してください。
親トピック: work-manager