Apcoordinator ユーザーズガイド
|
目次
|
24.3.6 EJBの引数や返却値として使用可能なオブジェクト
セションBean呼び出し時に与えるデータBeanは、以下の条件を満たす必要があります。
- データBean変換を行う場合、データBean変換後のHashMapとそこに含まれるオブジェクトがRMI over IIOPの規約に従っている。
- データBean変換を行わない場合、データBeanがRMI over IIOPの規約に従っている。
セションBeanが返すオブジェクトは、RMI over IIOPの規約に従っている必要があります。
RMI over IIOPでは以下の型がEJBの引数や返却値として使用できます。
- Javaのプリミティブ型(intなど)
- java.io.Serializableを直接または間接的に実装し、java.io.Remoteは直接的にも間接的にも実装しないオブジェクト
- java.rmi.Remoteインタフェースを継承し、すべてのメソッド(継承メソッドを含む)がjava.rmi.RemoteException、またはjava.rmi.RemoteExceptionのスーパークラスを例外としてthrowするリモートインタフェース
- 通信に使用できる型の配列
例えば以下の場合は、上記の条件を満たさないため、セションBean呼び出し時にエラーが発生します。
- クラスMyDataBeanは変換マップで「変換しない」設定になっているが、Serializableを実装していない。
- クラスMyDataBeanはHashMapに変換されるように設定されている。MyDataBeanがプロパティとしてTableViewをもっており、TableViewの表のセルのデータとしてMyCellクラスを使用している。MyCellはSerializableを実装していない。(この場合、変換後のHashMapにテーブルを表すObject[][]が入り、その2次元配列の要素にMyCellが入るため、条件を満たさない。)
All Rights Reserved, Copyright © 富士通株式会社 2000-2005