|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
参照:
説明
インタフェースの概要 | |
AdapterActivator | アダプタアクティベータは、子 POA (POA の子供のどれか) の名前を指定する要求を受信したときの副作用として、または activate パラメータ値を TRUE に設定して find_POA を呼び出したときに、POA が必要に応じて子 POA を作成できるようにします。 |
AdapterActivatorOperations | アダプタアクティベータは、子 POA (POA の子供のどれか) の名前を指定する要求を受信したときの副作用として、または activate パラメータ値を TRUE に設定して find_POA を呼び出したときに、POA が必要に応じて子 POA を作成できるようにします。 |
Current | PortableServer::Current インタフェースは、CORBA::Current から派生し、メソッドの各実装でそのメソッド呼び出しの対象となるオブジェクトの ID にアクセスできるようにします。 |
CurrentOperations | PortableServer::Current インタフェースは、CORBA::Current から派生し、メソッドの各実装でそのメソッド呼び出しの対象となるオブジェクトの ID にアクセスできるようにします。 |
ID_ASSIGNMENT_POLICY_ID | org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.java。 |
ID_UNIQUENESS_POLICY_ID | org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.java。 |
IdAssignmentPolicy | IdAssignmentPolicy は、作成された POA のオブジェクト ID がアプリケーションまたは ORB のどちらによって生成されるのかを指定します。 |
IdAssignmentPolicyOperations | IdAssignmentPolicy は、作成された POA のオブジェクト ID がアプリケーションまたは ORB のどちらによって生成されるのかを指定します。 |
IdUniquenessPolicy | IdUniquenessPolicy は、作成された POA で起動されるサーバントに、一意のオブジェクト ID が必要かどうかを示します。 |
IdUniquenessPolicyOperations | IdUniquenessPolicy は、作成された POA で起動されるサーバントに、一意のオブジェクト ID が必要かどうかを示します。 |
IMPLICIT_ACTIVATION_POLICY_ID | org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.java。 |
ImplicitActivationPolicy | このポリシーは、作成された POA でサーバントの暗黙的な起動がサポートされているかどうかを示します。 |
ImplicitActivationPolicyOperations | このポリシーは、作成された POA でサーバントの暗黙的な起動がサポートされているかどうかを示します。 |
LIFESPAN_POLICY_ID | org/omg/PortableServer/LIFESPAN_POLICY_ID.java。 |
LifespanPolicy | LifespanPolicy は、作成された POA で実装されたオブジェクトの有効期間を示します。 |
LifespanPolicyOperations | LifespanPolicy は、作成された POA で実装されたオブジェクトの有効期間を示します。 |
POA | POA オブジェクトは、オブジェクトのコレクションの実装を管理します。 |
POAManager | 各 POA オブジェクトには、POAManager オブジェクトが関連付けられています。 |
POAManagerOperations | 各 POA オブジェクトには、POAManager オブジェクトが関連付けられています。 |
POAOperations | POA オブジェクトは、オブジェクトのコレクションの実装を管理します。 |
REQUEST_PROCESSING_POLICY_ID | org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.java。 |
RequestProcessingPolicy | このポリシーは、作成された POA がどのように要求を処理するかを示します。 |
RequestProcessingPolicyOperations | このポリシーは、作成された POA がどのように要求を処理するかを示します。 |
SERVANT_RETENTION_POLICY_ID | org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.java。 |
ServantActivator | POA に RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantActivator が使用されます。 |
ServantActivatorOperations | POA に RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantActivator が使用されます。 |
ServantLocator | POA に NON_RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantLocator が使用されます。 |
ServantLocatorOperations | POA に NON_RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantLocator が使用されます。 |
ServantManager | サーバントマネージャは、POA が停止中のオブジェクトをターゲットとした要求を受信したときに、必要に応じてオブジェクトを起動できるようにします。 |
ServantManagerOperations | サーバントマネージャは、POA が停止中のオブジェクトをターゲットとした要求を受信したときに、必要に応じてオブジェクトを起動できるようにします。 |
ServantRetentionPolicy | このポリシーは、作成された POA がアクティブなサーバントを Active Object Map に保存するかどうかを示します。 |
ServantRetentionPolicyOperations | このポリシーは、作成された POA がアクティブなサーバントを Active Object Map に保存するかどうかを示します。 |
THREAD_POLICY_ID | org/omg/PortableServer/THREAD_POLICY_ID.java。 |
ThreadPolicy | ThreadPolicy は、作成された POA で使用されるスレッドモデルを示します。 |
ThreadPolicyOperations | ThreadPolicy は、作成された POA で使用されるスレッドモデルを示します。 |
クラスの概要 | |
_ServantActivatorStub | POA に RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantActivator が使用されます。 |
_ServantLocatorStub | POA に NON_RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantLocator が使用されます。 |
CurrentHelper | PortableServer::Current インタフェースは、CORBA::Current から派生し、メソッドの各実装でそのメソッド呼び出しの対象となるオブジェクトの ID にアクセスできるようにします。 |
DynamicImplementation | オブジェクト呼び出しの動的な処理を可能にします。 |
ForwardRequestHelper | org/omg/PortableServer/ForwardRequestHelper.java。 |
IdAssignmentPolicyValue | IdAssignmentPolicyValue には、次の値を指定できます。 |
IdUniquenessPolicyValue | IdUniquenessPolicyValue には、次の値を指定できます。 |
ImplicitActivationPolicyValue | ImplicitActivationPolicyValue には、次のセマンティクスを指定できます。 |
LifespanPolicyValue | LifespanPolicyValue には、次の値を指定できます。 |
POAHelper | POA オブジェクトは、オブジェクトのコレクションの実装を管理します。 |
RequestProcessingPolicyValue | RequestProcessingPolicyValue には、次の値を指定できます。 |
Servant | ネイティブな Servant 型を定義します。 |
ServantActivatorHelper | POA に RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantActivator が使用されます。 |
ServantActivatorPOA | POA に RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantActivator が使用されます。 |
ServantLocatorHelper | POA に NON_RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantLocator が使用されます。 |
ServantLocatorPOA | POA に NON_RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantLocator が使用されます。 |
ServantRetentionPolicyValue | ServantRetentionPolicyValue には、次の値を指定できます。 |
ThreadPolicyValue | ThreadPolicyValue には、次の値を指定できます。 |
例外の概要 | |
ForwardRequest | org/omg/PortableServer/ForwardRequest.java。 |
クラスとインタフェースを提供し、アプリケーションのサーバ側を複数ベンダー間 ORB で移植できるようにします。
Java では、POA (Portable Object Adaptor) ベースの DSI (Dynamic Skeleton Interface) サーバントは、標準の DynamicImplementation クラスから継承します。これは、Servant クラスから継承しています。ネイティブな Servant 型は、POA の PortableServer モジュールによって定義されます。Java では、Servant 型は Java の org.omg.PortableServer.Servant クラスにマップされます。このクラスは、すべての POA サーバント実装の基底クラスとして機能し、アプリケーションプログラマが呼び出すことのできるいくつかのメソッドのほかに、POA そのものによって呼び出され、サーバントの動作を制御するためにユーザがオーバーライドできるメソッドも提供します。
Java 2 Platform, Standard Edition, v.1.4 が準拠している正式な OMG 仕様のサポート済みのセクションについては、「J2SE 1.4 でサポートする CORBA の正式な仕様」を参照してください。
PortableServer モジュールは、次の POA 関連のインタフェースを定義します。
また、POA は Servant ネイティブ型も定義します。
上記の各インタフェースには、Operations
インタフェースが関連付けられています。Operations
インタフェースは、idlj
コンパイラによって生成され、それに関連付けられたインタフェースに定義されているメソッドのメソッドシグニチャーを格納します。Operations
インタフェースはクライアントとサーバの両方からアクセスできますが、それに関連付けられたインタフェースはクライアントからしか呼び出せません。
PolicyValue
で終わるクラスは、POA のポリシーを設定する create_POA
呼び出しに使用される値を提供します。デモンストレーションについては、以下のコード例を参照してください。PolicyValue
ファイルには、次のものがあります。
IdAssignmentPolicyValue
IdUniquenessPolicyValue
ImplicitActivationPolicyValue
LifespanPolicyValue
RequestProcessingPolicyValue
ServantRetentionPolicyValue
ThreadPolicyValue
ヘルパークラスは、OMG IDL インタフェース内のすべてのユーザ定義型に対して生成され、それらの型の操作に必要な static メソッドを提供します。ヘルパークラスには、アプリケーションプログラマが使用するメソッドが 1 つだけあります。narrow
メソッドです。IDL インタフェースからマップされる Java インタフェースだけが、narrow
メソッドを含むヘルパークラスを備えています。したがって、PortableServer
パッケージでは、次のクラスだけに narrow
メソッドがあります。
ForwardRequestHelper
ServantActivatorHelper
ServantLocatorHelper
POA クラスは、ServantActivator
または ServantLocator
の実装に使用します。
ForwardRequest
例外は、現在の要求と後続の ForwardRequest
要求をその例外の forward_reference
メンバに示されたオブジェクトに配信する責任があることを ORB に通知します。
PortableServer
によって行われる処理のほとんどは、ユーザには見えません。このため、上記のインタフェースのうちでプログラマが使用するものはほんのわずかです。残りのインタフェースは、ORB 実装によって提供されます。アプリケーションプログラマが使用するインタフェースは、次のとおりです。
AdapterActivator
アダプタアクティベータは、POA に関連付けられており、子 POA (POA の子供のどれか) の名前を指定する要求を受信したときの副作用として、または activate パラメータ値を TRUE
に設定して find_POA
を呼び出したときに、POA が必要に応じて子 POA を作成できるようにします。実行のはじめで必要な POA をすべて作成するアプリケーションサーバでは、アダプタアクティベータを使用する必要も用意する必要もありません。つまり、要求の処理時に POA を作成する必要がある場合にだけアダプタアクティベータが必要になります。
ServantLocator
POA に NON_RETAIN
ポリシーが指定されているときは、サーバントマネージャとして ServantLocator
が使用されます。
ServantActivator
POA に RETAIN
ポリシーが指定されているときは、サーバントマネージャとして ServantActivator
が使用されます。
このパッケージは、Cookie 型を out
パラメータとして渡すための CookieHolder クラスを提供します。CookieHolder
クラスは、基本型の他のホルダークラスとまったく同じパターンに従います。
Java IDL の概要については、次を参照してください。
import javax.naming.InitialContext; import javax.naming.Context; import javax.rmi.PortableRemoteObject ; import com.sun.corba.se.internal.POA.POAORB; import org.omg.PortableServer.*; import java.util.*; import org.omg.CORBA.*; import javax.rmi.CORBA.Stub; import javax.rmi.CORBA.Util; public class HelloServer { public HelloServer(String[] args) { try { Properties p = System.getProperties(); // p.put("org.omg.CORBA.ORBClass", "com.sun.corba.ee.internal.POA.POAORB"); ORB orb = ORB.init( args, p ); POA rootPOA = (POA)orb.resolve_initial_references("RootPOA"); Policy[] tpolicy = new Policy[3]; tpolicy[0] = rootPOA.create_lifespan_policy( LifespanPolicyValue.TRANSIENT ); tpolicy[1] = rootPOA.create_request_processing_policy( RequestProcessingPolicyValue.USE_ACTIVE_OBJECT_MAP_ONLY ); tpolicy[2] = rootPOA.create_servant_retention_policy( ServantRetentionPolicyValue.RETAIN); POA tpoa = rootPOA.create_POA("MyTransientPOA", null, tpolicy); String ObjectId = "MyObjectId"; byte[] oid = ObjectId.getBytes(); org.omg.CORBA.Object obj = tpoa.create_reference_with_id(oid, new _HelloImpl_Tie()._all_interfaces(tpoa, oid)[0]); HelloInterface helloRef = (HelloInterface)PortableRemoteObject.narrow( obj, HelloInterface.class ); Context initialNamingContext = new InitialContext(); initialNamingContext.rebind("HelloService", helloRef); System.out.println("Hello Server: Ready..."); orb.run(); } catch (Exception e) { System.out.println("Trouble: " + e); e.printStackTrace(); } } public static void main(String args[]) { new HelloServer( args ); } }
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.