このドキュメントでは、CORBA の機能に関連して JDK 1.3 と 5.0 の間で変更されたすべての API について情報を提供します。この変更は、JDK 5.0 に組み込まれる CORBA 技術用の API を、次に示す OMG ドキュメントに規定されている CORBA 2.3 マッピングに準拠させるために行われたものです。
CORBA バージョン 2.3 仕様で規定されている IDL から Java へのマッピングに準拠するため、次に示す org.omg.COSNaming クラスを、JDK に同梱されている idlj コンパイラで再生成しました。この変更 (CCC 4284015) には、次のような API の変更が含まれます。互換性への影響: なし。
CORBA V (2.3) のセクション 1.5.2 にあるすべての Helper に関する仕様 (ptc/00-01-08.pdf) に準拠するため、Helper はすべて abstract public クラスになりました。次に、org.omg.CosNaming に属するクラスで abstract public クラスに変更されたすべての Helper クラスを示します。
セクション 1.7 にある OMG 仕様 (ptc/00-01-08.pdf) の「Mapping for Enum」に準拠するため、次に示す Enum コンストラクタのマッピングが protected に変更されました。
CLASS | BEFORE | 変更後 |
---|---|---|
BindingType.java | private BindingType(int) | protected BindingType(int) |
NotFoundReason.java | private NotFoundReason(int) | protected NotFoundReason(int) |
CORBA 2.3 仕様 (ptc/00-01-08.pdf) の「Deletion of constructors in Stub classes」に準拠するため、次に示すコンストラクタが削除されました。
CLASS | BEFORE | 変更後 |
---|---|---|
_BindingIteratorStub.java | public _BindingIteratorStub(org.omg.CORBA.portable.Delegate d) | このコンストラクタは削除。 |
_NamingContextStub.java | public _NamingContextStub(org.omg.CORBA.portable.Delegate d) | このコンストラクタは削除。 |
CORBA 2.3 仕様 (ptc/00-01-08.pdf) に準拠するため、次に示す例外が変更されました。
CLASS | BEFORE | 変更後 |
---|---|---|
AlreadyBound.java | public final class AlreadyBound extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity | public final class AlreadyBound extends org.omg.CORBA.UserException |
AlreadyBound.java | デフォルトコンストラクタのみ | 新しいコンストラクタ public AlreadyBound (String reason) を追加 |
CannotProceed.java | public final class CannotProceed extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity | public final class CannotProceed extends org.omg.CORBA.UserException |
CannotProceed.java | デフォルトコンストラクタのみ | 新しいコンストラクタ public CannotProceed (String reason) を追加 |
InvalidName.java | public final class InvalidName extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity | public final class InvalidName extends org.omg.CORBA.UserException |
InvalidName.java | デフォルトコンストラクタのみ | 新しいコンストラクタ public InvalidName (String reason) を追加 |
NotEmpty.java | public final class NotEmpty extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity | public final class NotEmpty extends org.omg.CORBA.UserException |
NotEmpty.java | デフォルトコンストラクタのみ | 新しいコンストラクタ public NotEmpty (String reason) を追加 |
NotFound.java | public final class NotFound extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity | public final class NotFound extends org.omg.CORBA.UserException |
NotFound.java | デフォルトコンストラクタのみ | 新しいコンストラクタ public NotFound (String, org.omg.CosNaming.NamingContextPackage.NotFoundReason, org.omg.CosNaming.NameComponent[]) を追加 |
CORBA 2.3 仕様に準拠するため、次に示すクラスが追加されました。
CORBA 2.3 仕様に準拠するため、次に示すクラスが非推奨になりました。
private static String _id = "IDL:omg.org/CORBA/IDLType:2.3";
を、次のように変更しました。
private static String _id = "IDL:omg.org/CORBA/IDLType:1.0";
互換性への影響: はい。この変更は、既存の実装との相互運用性に影響を与えることがあります。COMM_FAILURE 例外 (または類似の例外) を受け取った場合は、アプリケーションおよび IR を再起動してください。(CCC 4372718)
互換性への影響: はい。このコンパイラを使用する既存のプログラムに対して idlj を呼び出すときに互換性を維持するには、-oldImplBase フラグを追加する必要があります。(CCC 4407835)
J2SE 5.0 バージョンの Calendar の writeObject メソッドでは、ZoneInfo オブジェクトを書き出します。同様に、そのオブジェクトを読み込むには readObject メソッドを呼び出します。古いバージョンと対話している場合は、オブジェクトが存在しないため、ストリームは Java オブジェクト直列化仕様に基づき EOFException をスローします。ストリームの位置は変わりません。