所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
org.omg.PortableInterceptor
接口 ORBInitInfoOperations
- 所有已知子接口:
- ORBInitInfo
-
public interface ORBInitInfoOperations
传递给每个 ORBInitializer
,允许其在初始化 ORB 时注册 interceptor 并执行其他职责。
ORBInitInfo
对象只在 ORB.init
期间有效。如果服务保持对其 ORBInitInfo
对象的引用,并试图在 ORB.init
返回后使用该对象,则该对象将不再存在,并抛出 OBJECT_NOT_EXIST
异常。
- 另请参见:
ORBInitializer
方法摘要 | |
---|---|
void |
add_client_request_interceptor(ClientRequestInterceptor interceptor) 此方法用来将客户端的请求 Interceptor 添加到客户端请求 Interceptor 列表。 |
void |
add_ior_interceptor(IORInterceptor interceptor) 此方法用来将 IOR Interceptor 添加到 IOR Interceptor 列表。 |
void |
add_server_request_interceptor(ServerRequestInterceptor interceptor) 此方法用来将服务器端的请求 Interceptor 添加到服务器端请求 Interceptor 列表。 |
int |
allocate_slot_id() 调用此方法来在 PortableInterceptor.Current 上分配槽 (slot)。 |
String[] |
arguments() 返回传递给 ORB.init 的参数。 |
CodecFactory |
codec_factory() 返回 IOP.CodecFactory 。 |
String |
orb_id() 返回将被初始化的 ORB 的 ID。 |
void |
register_initial_reference(String id, Object obj) 等同于 ORB.register_initial_reference 。 |
void |
register_policy_factory(int type, PolicyFactory policy_factory) 注册给定 PolicyType 的 PolicyFactory 。 |
Object |
resolve_initial_references(String id) 等同于 ORB.resolve_initial_references 。 |
方法详细信息 |
---|
arguments
String[] arguments()
-
返回传递给
ORB.init
的参数。它们可能包含 ORB 的参数,也可能不包含。 -
orb_id
String orb_id()
- 返回将被初始化的 ORB 的 ID。
-
codec_factory
CodecFactory codec_factory()
-
返回
IOP.CodecFactory
。通常通过调用ORB.resolve_initial_references( "CodecFactory" )
获取CodecFactory
,但是因为 ORB 当前不可用,而且 Interceptor(尤其是在处理服务上下文时)将请求Codec
,所以必须在初始化 ORB 时获取Codec
的方法。 -
register_initial_reference
void register_initial_reference(String id, Object obj) throws InvalidName
-
等同于
ORB.register_initial_reference
。这里提供一个具有相同功能的方法是因为:未完全初始化的 ORB 当前不可用,但是初始引用可能需要作为 Interceptor 注册的一部分被注册。唯一的不同之处在于,ORB 中的这一操作使用 PIDL (CORBA.ORB.ObjectId
) 和 (CORBA.ORB.InvalidName
),而此接口中的这一操作使用此接口中定义的 IDL;语义是等同的。 -
- 抛出:
InvalidName
resolve_initial_references
Object resolve_initial_references(String id) throws InvalidName
-
等同于
ORB.resolve_initial_references
。这里提供一个具有相同功能的方法是因为:未完全初始化的 ORB 当前不可用,但是 ORB 中的初始引用可能需要作为 Interceptor 注册的一部分。唯一的不同之处在于,ORB 中的这一操作使用 PIDL (CORBA::ORB::ObjectId
) 和 (CORBA::ORB::InvalidName
),而此接口中的这一操作使用此接口中定义的 IDL;语义是等同的。此操作仅在 post_init 期间有效。
-
- 抛出:
InvalidName
add_client_request_interceptor
void add_client_request_interceptor(ClientRequestInterceptor interceptor) throws DuplicateName
- 此方法用来将客户端的请求 Interceptor 添加到客户端请求 Interceptor 列表。
-
- 参数:
interceptor
- 要添加的ClientRequestInterceptor
。- 抛出:
DuplicateName
- 如果客户端的请求 Interceptor 已经使用此 Interceptor 的名称注册。
add_server_request_interceptor
void add_server_request_interceptor(ServerRequestInterceptor interceptor) throws DuplicateName
- 此方法用来将服务器端的请求 Interceptor 添加到服务器端请求 Interceptor 列表。
-
- 参数:
interceptor
- 要添加的 ServerRequestInterceptor。- 抛出:
DuplicateName
- 如果服务器端的请求 Interceptor 已经使用此 Interceptor 的名称注册。