|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface ServerRequestInfoOperations
伺服器端請求 interceptor 可存取的請求資訊。
某些 ServerRequestInfo
上的屬性和操作並不是對所有的截取點都有效。下表展示了每個屬性或操作的有效性。如果無效,則試圖存取它將導致拋出 BAD_INV_ORDER
,並帶有標準次要程式碼 14。
receive_request_ service_contexts |
receive_request | send_reply | send_exception | send_other | |
---|---|---|---|---|---|
繼承自 RequestInfo: | |||||
request_id |
是 | 是 | 是 | 是 | 是 |
operation |
是 | 是 | 是 | 是 | 是 |
arguments |
否 | 是1 | 是 | 否2 | 否2 |
exceptions |
否 | 是 | 是 | 是 | 是 |
contexts |
否 | 是 | 是 | 是 | 是 |
operation_context |
否 | 是 | 是 | 否 | 否 |
result |
否 | 否 | 是 | 否 | 否 |
response_expected |
是 | 是 | 是 | 是 | 是 |
sync_scope |
是 | 是 | 是 | 是 | 是 |
request_id | 是 | 是 | 是 | 是 | 是 |
operation | 是 | 是 | 是 | 是 | 是 |
arguments | 否 | 是1 | 是 | 否2 | 否2 |
exceptions | 否 | 是 | 是 | 是 | 是 |
contexts | 否 | 是 | 是 | 是 | 是 |
operation_context | 否 | 是 | 是 | 否 | 否 |
result | 否 | 否 | 是 | 否 | 否 |
response_expected | 是 | 是 | 是 | 是 | 是 |
sync_scope | 是 | 是 | 是 | 是 | 是 |
reply_status | 否 | 否 | 是 | 是 | 是 |
forward_reference | 否 | 否 | 否 | 否 | 是2 |
get_slot | 是 | 是 | 是 | 是 | 是 |
get_request_service_context | 是 | 否 | 是 | 是 | 是 |
get_reply_service_context | 否 | 否 | 是 | 是 | 是 |
特定於 ServerRequestInfo: | |||||
sending_exception | 否 | 否 | 否 | 是 | 否 |
object_id | 否 | 是 | 是 | 是3 | 是3 |
adapter_id | 否 | 是 | 是 | 是3 | 是3 |
server_id | 否 | 是 | 是 | 是 | 是 |
orb_id | 否 | 是 | 是 | 是 | 是 |
adapter_name | 否 | 是 | 是 | 是 | 是 |
target_most_derived_interface | 否 | 是 | 否4 | 否4 | 否4 |
get_server_policy | 是 | 是 | 是 | 是 | 是 |
set_slot | 是 | 是 | 是 | 是 | 是 |
target_is_a | 否 | 是 | 否4 | 否4 | 否4 |
add_reply_service_context | 是 | 是 | 是 | 是 | 是 |
ServerRequestInfo
傳遞給 receive_request
時,對於每個參數(無論它是 in、inout 還是 out),列表中都有一個對應的條目。但只有 in 和 inout 參數可用。reply_status
屬性不是 LOCATION_FORWARD
,則存取此屬性將拋出 BAD_INV_ORDER
,並帶有標準次要程式碼 14。NO_RESOURCES
,並帶有標準次要程式碼 1。ServantLocator
的 POA,則 ORB 將在調用 ServantLocator.postinvoke()
後調用該截取點。
ServerRequestInterceptor
方法摘要 | |
---|---|
byte[] |
adapter_id()
返回物件適配器的不透明標識符。 |
String[] |
adapter_name()
返回字元串序列,這些字元串標識正處理此請求的物件適配器實例。 |
void |
add_reply_service_context(ServiceContext service_context,
boolean replace)
允許 Interceptor 將服務上下文添加到請求。 |
Policy |
get_server_policy(int type)
返回此操作實行的具有給定策略型別的策略。 |
byte[] |
object_id()
返回描述該操作調用目標的不透明 object_id 。 |
String |
orb_id()
返回用於創建 ORB 的 ID。 |
Any |
sending_exception()
返回一個 any,它包含將向客戶端返回的異常。 |
String |
server_id()
返回使用 -ORBServerId 參數的 ORB::init 上指定的伺服器 ID。 |
void |
set_slot(int id,
Any data)
允許 Interceptor 在請求域中的 PortableInterceptor.Current 內設置槽 (slot)。 |
boolean |
target_is_a(String id)
如果 servant 是給定的存儲資源庫 id,則返回 true;若不是則返回 false。 |
String |
target_most_derived_interface()
返回 servant 最終派生介面的存儲資源庫 id。 |
從介面 org.omg.PortableInterceptor.RequestInfoOperations 繼承的方法 |
---|
arguments, contexts, exceptions, forward_reference, get_reply_service_context, get_request_service_context, get_slot, operation_context, operation, reply_status, request_id, response_expected, result, sync_scope |
方法詳細資訊 |
---|
Any sending_exception()
如果異常是不能插入 any 的使用者異常(例如,該異常是未知的或綁定不提供 TypeCode
),則此屬性將是一個套件含系統異常 UNKNOWN
並帶有標準次要程式碼 1 的 any。
PortableInterceptor
套件中關於限制/未實作特性的註釋byte[] object_id()
object_id
。
byte[] adapter_id()
String server_id()
String orb_id()
String[] adapter_name()
String target_most_derived_interface()
Policy get_server_policy(int type)
CORBA.Policy
物件只應該是通過 register_policy_factory
註冊了其型別的策略。
type
- 指定將返回的策略的 CORBA.PolicyType
。
CORBA.Policy
。
INV_POLICY
- 如果沒有通過 register_policy_factory
註冊給定型別的策略,則拋出此異常,並帶有標準次要程式碼 2。ORBInitInfoOperations.register_policy_factory(int, org.omg.PortableInterceptor.PolicyFactory)
void set_slot(int id, Any data) throws InvalidSlot
PortableInterceptor.Current
內設置槽 (slot)。如果該槽中已存在資料,則將其覆寫。
id
- 槽的 id。data
- 存儲在槽中的資料,以 any 的形式存在。
InvalidSlot
- 如果 ID 定義的不是已分派的槽,則拋出此異常。Current
boolean target_is_a(String id)
id
- 調用者將檢驗 servant 是否是此存儲資源庫 id。
void add_reply_service_context(ServiceContext service_context, boolean replace)
沒有對服務上下文的順序做出任何宣告。它們可能按添加的順序出現,也可能不是如此。
service_context
- 將添加到應答的 IOP.ServiceContext
。replace
- 在已經存在具有給定 ID 的服務上下文時指示此操作的行為。如果為 false,則拋出 BAD_INV_ORDER
,並帶有標準次要程式碼 15。如果為 true,則用新服務上下文取代現有的服務上下文。
BAD_INV_ORDER
- 如果 replace 為 false 且已經存在具有給定 ID 的服務上下文,則拋出此異常,並帶有標準次程式碼 15。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。