ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server 使用上の注意
Interstage

1.16.1 EJBサービスの制限事項

項番

制限事項

対処方法

解除予定

1

クライアント/サーバ間通信で、long型のデータ型を引数および復帰値に使用することはできません。

ありません。

未定

2

ビジネスメソッド名に「remove」を使用すると不具合が発生する場合があります。

ありません。

未定

3

分散トランザクション機能を使用する時に、ある特定のメソッド内で以下のjavax.ejb.EJBContextのAPIを実行するとIllegalStateExceptionが発生します。

  • getCallerIdentity()

  • getCallerPrincipal()

  • isCallerInRole(Identity role)

  • isCallerInRole(String roleName)

上記メソッドを実行すると例外が発生するメソッドは以下です。

・STATEFUL Session Beanの場合

  • beforeCompletion

  • afterCompletion

・Entity Beanの場合

  • ejbStore

ありません。

未定

4

以下に示す環境下のEJBアプリケーションメソッド内において、メソッドパーミッションが設定されたメソッドを呼び出すとRemoteExceptionが発生します。

  • 分散トランザクション機能使用時
    [STATEFUL Session Bean]
    ・beforeCompletion
    [Entity Bean]
    ・ejbStore

ありません。

未定

5

deployment descriptorファイルのリソース接続者に「Application」を指定し、かつ以下の環境下におけるEJBアプリケーションメソッド内においてJDBCリソースアクセスを行うとSQLExceptionが発生します。

  • 分散トランザクション機能使用時
    [STATEFUL Session Bean]
    ・beforeCompletion
    [Entity Bean]
    ・ejbStore

ありません。

未定

6

Entity Beanの最適化処理を使用したEJBアプリケーションでは、分散トランザクション機能を使用することはできません。

ありません。

未定

7

分散トランザクション機能を使用し、スナップ機能の出力レベルに「2」を指定した場合、OracleでORA-01002のエラーが発生する場合があります。

ありません。

未定

8

CMP2.0 では分散トランザクション機能を使用できません。使用した場合、起動時にIJServer21239のエラーが発生します。

ありません。

未定

9

Localインタフェースを実装したEJBアプリケーションのある特定のメソッド内で、以下のjavax.ejb.SessionContextのAPIを実行するとNullが返却されます。

  • getEJBLocalObject

上記メソッドを実行するとNullが返却されるメソッドは以下です。

・STATEFUL Session BeanまたはSTATELESS Session Beanの場合

  • ejbCreate

ありません。

未定

10

LocalインタフェースとRemoteインタフェースの両方を実装したEJBアプリケーションのある特定のメソッド内で、以下のjavax.ejb.SessionContextまたはjavax.ejb.EntityContextのAPIを実行するとNullが返却される場合があります。

  • getEJBLocalObject

上記メソッドを実行するとNullが返却されるメソッドは以下です。

・STATEFUL Session Beanの場合

  • ejbCreate

  • afterBegin

  • beforeCompletion

  • afterCompletion

  • ビジネスメソッド

  • ejbRemove

・STATELESS Session Beanの場合

  • ejbCreate

  • ビジネスメソッド

  • ejbRemove

・CMP2.0 Entity Beanの場合

  • ejbRemove

ありません。

未定

11

LocalインタフェースとRemoteインタフェースの両方を実装したEJBアプリケーションにおいて、ある特定のメソッド内でjavax.ejb.SessionContextのgetEJBObjectにより獲得したEJB objectに対しgetEJBHomeメソッドを発行すると、RemoteExceptionが返却されます。
上記メソッドを実行すると例外が発生するメソッドは以下です。

・STATELESS Session Beanの場合

  • ejbCreate

  • ejbRemove

ありません。

未定

12

同一のEJBアプリケーション内より、LocalインタフェースとRemoteインタフェースを両方実装したEJBアプリケーションに対しRemoteインタフェースを経由したlookup処理を行った場合、java.lang.ClassCastExceptionが発生します。

同一のEJBアプリケーション内より、LocalインタフェースとRemoteインタフェースを両方実装したEJBアプリケーションに対し、LocalHomeインタフェースとHomeインタフェースの両方を経由したlookup処理を行う場合、EJBアプリケーション開発時、および運用時に以下の作業を行って下さい。

・EJBアプリケーション開発時

  1. deployment descriptorの編集
    「参照EJBタグ」または「参照LocalEJBタグ」の「ejb-ref-name」に定義された「EnterpriseBeanの参照名」を重複しないよう編集して下さい。

  2. EJBアプリケーションの開発
    lookup時の引数に指定するEJBアプリケーション名がLocalHomeインタフェースを経由する場合と、Homeインタフェースを経由する場合とで重複しないよう記述して下さい。1で設定した参照EJBまたは参照LocalEJBに定義されたEnterpriseBeanの参照名に対応するEJBアプリケーション名を記述して下さい。

・EJBアプリケーション運用時
名前変換ファイルの編集名前変換ファイルを使用し、1で変更したEnterpriseBeanの参照名と、EJBアプリケーション内にてlookup時の引数で指定したEJBアプリケーション名との対応付けを行って下さい。

未定

13

EJBサービスが提供するjavax.naming.InitialContextおよび、javax.naming.Contextの以下のAPIを実行すると、OperationNotSupportedExceptionが発生します。

  • addToEnvironment(String , Object)

  • bind(Name , Object)

  • bind(String , Object)

  • composeName(Name , Name)

  • composeName(String , String)

  • createSubcontext(Name name)

  • createSubcontext(String name)

  • destroySubcontext(Name name)

  • destroySubcontext(String name)

  • getEnvironment()

  • getNameInNamespace()

  • getNameParser(Name name)

  • getNameParser(String name)

  • list(Name name)

  • list(String name)

  • listBindings(Name name)

  • listBindings(String name)

  • lookup(Name name)

  • lookupLink(Name name)

  • lookupLink(String name)

  • rebind(Name , Object)

  • rebind(String , Object)

  • removeFromEnvironment(String)

  • rename(Name , Name)

  • rename(String , String)

  • unbind(Name name)

  • unbind(String name)

ありません。

未定

14

EJBタイマーサービスをEntity Beanで利用する場合、タイマーによるコールバック処理(ejbTimeoutメソッド)は実行されません。

ありません。

未定

15

IJServerの起動に失敗した場合、起動処理中に取得した以下の資源が解放されないことがあります。

  • Message-driven Beanで使用されるイベントチャネルの接続情報

  • 事前コネクト機能によって起動時に取得されたJDBCコネクション

  • リソースアダプタが獲得した資源

  • 起動処理中に作成されたEnterprise Beanインスタンス

イベントチャネルの接続情報はesmonitorchnlコマンドで解放できます。詳細は「リファレンスマニュアル(コマンド編)」を参照してください。
JDBCコネクションは接続先のデータベースの機能を利用して解放してください。
リソースアダプタが獲得した資源は、EISの機能などを利用して解放してください。

未定