|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface RequestInfoOperations
Interceptor 可存取的請求資訊。
每個截取點都給定了一個物件,Interceptor 可以通過該物件存取請求資訊。客戶端和伺服器端的截取點關注不同的資訊,因此有兩種資訊物件:ClientRequestInfo
傳遞給客戶端的截取點,ServerRequestInfo
傳遞給伺服器端的截取點。但也有兩者都需要的資訊,所以這兩個介面繼承自同一個介面:RequestInfo
。
ClientRequestInfo
,
ServerRequestInfo
方法摘要 | |
---|---|
Parameter[] |
arguments()
返回一個 Parameter 物件陣列,包含將調用的操作上的參數。 |
String[] |
contexts()
返回一個 String 物件陣列,這些物件描述可以在此操作調用上傳遞的上下文。 |
TypeCode[] |
exceptions()
返回一個 TypeCode 物件陣列,這些物件描述此操作調用可能拋出的使用者異常的 TypeCode 。 |
Object |
forward_reference()
如果 reply_status 屬性為 LOCATION_FORWARD ,則包含要將請求轉發到的物件。 |
ServiceContext |
get_reply_service_context(int id)
返回具有給定 ID 的與應答關聯的服務上下文復本。 |
ServiceContext |
get_request_service_context(int id)
返回具有給定 ID 的與請求關聯的服務上下文復本。 |
Any |
get_slot(int id)
返回請求域內 PortableInterceptor.Current 給定槽 (slot) 中的資料。 |
String[] |
operation_context()
返回一個 String 物件陣列,這些物件包含將在請求上發送上下文。 |
String |
operation()
返回將被調用的操作的名稱。 |
short |
reply_status()
描述操作調用結果的狀態。 |
int |
request_id()
返回唯一地標識啟動的請求/應答序列的 id。 |
boolean |
response_expected()
指示是否希望回應。 |
Any |
result()
返回一個 any,它包含該操作調用的結果。 |
short |
sync_scope()
定義在控制資訊返回到客戶端前請求應前進的距離。 |
方法詳細資訊 |
---|
int request_id()
request_id
。如果使用的傳送機制是 GIOP,則這些 ID 很可能是相同的,但是不保證也不要求如此。
String operation()
Parameter[] arguments()
Parameter
物件陣列,包含將調用的操作上的參數。如果沒有參數,則此屬性將是一個 0 長度陣列。
並非所有環境都提供對參數的存取。例如,使用 Java 可移植綁定時參數將不可用。在這些環境中存取此屬性時,將拋出 NO_RESOURCES
,並帶有標準次要程式碼 1。
註:對於 DSI/DII 調用參數是可用的。
NO_RESOURCES
- 如果參數不可用。PortableInterceptor
套件中關於限制/未實作特性的註釋TypeCode[] exceptions()
TypeCode
物件陣列,這些物件描述此操作調用可能拋出的使用者異常的 TypeCode
。如果沒有使用者異常,則此方法返回一個長度為 0 的陣列。
並非所有環境都提供對異常列表的存取。例如,使用 Java 可移植綁定時異常列表將不可用。在這些環境中存取此屬性時,將拋出 NO_RESOURCES
,並帶有標準次要程式碼 1。
註:異常對於 DSI/DII 調用是可用的。
NO_RESOURCES
- 如果異常不可用。PortableInterceptor
套件中關於限制/未實作特性的註釋String[] contexts()
String
物件陣列,這些物件描述可以在此操作調用上傳遞的上下文。如果沒有上下文,則此方法返回一個長度為 0 的陣列。
並非所有環境都提供對上下文列表的存取。例如,使用 Java 可移植綁定時上下文列表將不可用。在這些環境中存取此屬性時,將拋出 NO_RESOURCES
,並帶有標準次要程式碼 1。
註:上下文對於 DSI/DII 調用是可用的。
NO_RESOURCES
- 如果上下文不可用。PortableInterceptor
套件中關於限制/未實作特性的註釋String[] operation_context()
String
物件陣列,這些物件包含將在請求上發送上下文。
並非所有環境都提供對上下文的存取。例如,使用 Java 可移植綁定時上下文將不可用。在這些環境中存取此屬性時,將拋出 NO_RESOURCES,並帶有標準次程式碼 1。
註:operation_context
對於 DSI/DII 調用是可用的。
NO_RESOURCES
- 如果操作上下文不可用。PortableInterceptor
套件中關於限制/未實作特性的註釋Any result()
TCKind
值為 tk_void
的型別程式碼的 any,並且該 any 不包含任何值。
並非所有環境都提供對結果的存取。例如,使用 Java 可移植綁定時結果將不可用。在這些環境中存取此屬性時,將拋出 NO_RESOURCES
,並帶有標準次要程式碼 1。
註:結果對於 DSI/DII 調用是可用的。
NO_RESOURCES
- 如果結果不可用。PortableInterceptor
套件中關於限制/未實作特性的註釋boolean response_expected()
對於客戶端,當 response_expected
為 false 時不返回應答,因此不能調用 receive_reply
。不發生異常時調用 receive_other
,發生異常時調用 receive_exception
。
此屬性在客戶端 send_poll
內部為 true。
short sync_scope()
response_expected
為 false 時才相關。如果 response_expected
為 true,則 sync_scope
的值是不確定的。此屬性可以是以下值之一:
Messaging.SYNC_NONE
Messaging.SYNC_WITH_TRANSPORT
Messaging.SYNC_WITH_SERVER
Messaging.SYNC_WITH_TARGET
receive_request_service_contexts
、receive_request
、send_reply
或 send_exception
)。
對於 SYNC_WITH_SERVER
和 SYNC_WITH_TARGET
,在調用目標前,伺服器將一個空應答發送回客戶端。此應答將不會被伺服器端的 Interceptor 截取。
PortableInterceptor
套件中關於限制/未實作特性的註釋short reply_status()
PortableInterceptor.SUCCESSFUL
PortableInterceptor.SYSTEM_EXCEPTION
PortableInterceptor.USER_EXCEPTION
PortableInterceptor.LOCATION_FORWARD
PortableInterceptor.TRANSPORT_RETRY
receive_reply
截取點內,此方法僅返回 SUCCESSFUL
receive_exception
截取點內,此方法將返回 SYSTEM_EXCEPTION
或 USER_EXCEPTION
。receive_other
截取點內,此方法將返回以下任意值:SUCCESSFUL
、LOCATION_FORWARD
或 TRANSPORT_RETRY
。SUCCESSFUL
表示成功返回了非同步請求。LOCATION_FORWARD
表示返回了應答,並以 LOCATION_FORWARD
作為其狀態。TRANSPORT_RETRY
表示傳送機制指示重試 - 例如,帶有 NEEDS_ADDRESSING_MODE
狀態的 GIOP 應答。 send_reply
截取點內,此方法僅返回 SUCCESSFUL
send_exception
截取點內,此方法將返回 SYSTEM_EXCEPTION
或 USER_EXCEPTION
。send_other
截取點內,此屬性將是以下任意值:SUCCESSFUL
或 LOCATION_FORWARD
。SUCCESSFUL
表示成功返回了非同步請求。LOCATION_FORWARD
表示返回了應答,並以 LOCATION_FORWARD
作為其狀態。
SUCCESSFUL
,
SYSTEM_EXCEPTION
,
USER_EXCEPTION
,
LOCATION_FORWARD
,
TRANSPORT_RETRY
Object forward_reference()
reply_status
屬性為 LOCATION_FORWARD
,則包含要將請求轉發到的物件。轉發的請求是否將實際發生是不確定的。
Any get_slot(int id) throws InvalidSlot
PortableInterceptor.Current
給定槽 (slot) 中的資料。
如果尚未設置給定槽,則返回一個套件含 TCKind
值為 tk_null
的型別程式碼的 any。
id
- 將返回的槽的 SlotId
。
InvalidSlot
- 如果 ID 定義的不是已分派的槽,則拋出此異常。Current
ServiceContext get_request_service_context(int id)
id
- 將返回的服務上下文的 IOP.ServiceId
。
IOP.ServiceContext
。
BAD_PARAM
- 如果請求的服務上下文不包含對應於該 ID 的條目,則拋出此異常,並帶有標準次程式碼 26。ServiceContext get_reply_service_context(int id)
id
- 將返回的服務上下文的 IOP.ServiceId
。
IOP.ServiceContext
。
BAD_PARAM
- 如果請求的服務上下文不包含對應於該 ID 的條目,則拋出此異常,並帶有標準次要程式碼 26。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。