|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface ServerRequestInterceptorOperations
서버측의 요구 인타세프타입니다.
요구 인타세프타는, 특정의 지점에서 ORB 를 개입시켜 요구/응답 순서의 흐름을 차단해, 서비스가 요구 정보를 조회하거나 클라이언트와 서버와의 사이에 거래되는 서비스 문맥을 조작하거나 할 수 있도록(듯이) 설계되고 있습니다. 요구 인타세프타의 주된 사용 목적은, ORB 서비스가 클라이언트와 서버와의 사이에 문맥 정보를 전송 할 수 있도록(듯이) 하는 것입니다. 요구 인타세프타에는, 클라이언트측과 서버측의 2 종류가 있습니다.
서버측의 인타세프타를 작성하려면 , ServerRequestInterceptor 인터페이스를 구현합니다.
ServerRequestInfo
메소드의 개요 | |
---|---|
void |
receive_request_service_contexts (ServerRequestInfo ri)
인타세프타로 서비스 문맥 정보를 처리할 수 있도록(듯이) 합니다. |
void |
receive_request (ServerRequestInfo ri)
오퍼레이션 파라미터등의 모든 정보를 사용할 수 있게 된 후에, 인타세프타가 요구 정보를 조회할 수 있도록(듯이) 합니다. |
void |
send_exception (ServerRequestInfo ri)
예외가 클라이언트에 throw 되기 전에, 인타세프타가 예외 정보를 조회하거나 응답 서비스 문맥을 변경하거나 할 수 있도록(듯이) 합니다. |
void |
send_other (ServerRequestInfo ri)
요구에 의해 일반적으로의 응답 또는 예외 이외의 것이 돌려주어졌을 때에, 인타세프타가 이용 가능한 정보를 조회할 수 있도록(듯이) 합니다. |
void |
send_reply (ServerRequestInfo ri)
타겟 오퍼레이션이 불려 가고 나서 응답이 클라이언트에 돌려주어질 때까지, 인타세프타가 응답 정보를 조회하거나 응답 서비스 문맥을 변경하거나 할 수 있도록(듯이) 합니다. |
인터페이스 org.omg.PortableInterceptor. InterceptorOperations 로부터 상속된 메소드 |
---|
destroy , name |
메소드의 상세 |
---|
void receive_request_service_contexts(ServerRequestInfo ri) throws ForwardRequest
이 차단점으로써, 인타세프타는 착신 요구로부터 그 서비스 문맥 정보를 취득해, 그것을 PortableInterceptor.Current
의 슬롯에 전송 할 필요가 있습니다.
이 차단점은, 서번트 매니저가 불려 가기 전에 불려 갑니다. 오퍼레이션 파라미터는, 이 시점에서는 아직 사용할 수 없습니다. 이 차단점은, 타겟의 호출과 같은 thread내에서 동작하는 경우도 하지 않는 경우도 있습니다.
이 차단점에서는, 시스템 예외가 throw 되는 경우가 있습니다. 이 예외가 throw 되었을 경우, 다른 인타세프타의 receive_request_service_contexts
오퍼레이션은 불려 가지 않습니다. 플로우 스택상의 그러한 인타세프타가 표시되어 그 send_exception
차단점이 불려 갑니다.
이 차단점에서는,ForwardRequest
예외가 throw 되는 경우도 있습니다. 이 예외가 throw 되었을 경우, 다른 인타세프타의 receive_request_service_contexts
오퍼레이션은 불려 가지 않습니다. 플로우 스택상의 그러한 인타세프타가 표시되어 그 send_other
차단점이 불려 갑니다.
이 차단점으로부터 시스템 예외를 throw 하는 경우, 준거하고 있는 인타세프타는 completion_status
시멘틱스에 엄밀하게 따릅니다. completion_status
는 COMPLETED_NO
가 됩니다.
ri
- 차단되는 현재의 요구에 관한 정보
ForwardRequest
- throw 되었을 경우는, 예외로 지정되고 있다
새로운 객체를 사용해 요구의 재시행을 하는 것을
ORB 에 통지한다void receive_request(ServerRequestInfo ri) throws ForwardRequest
DSI 모델에서는, 사용자 코드에 의해 arguments
가 불려 간 시점에서 처음으로 파라미터를 사용할 수 있게 되기 (위해)때문에,receive_request
는 arguments
내로부터 불려 갑니다. DSI 모델에서는,arguments
가 불려 가지 않는 것도 있습니다. 또,set_exception
가 불려 가고 나서,arguments
가 불려 가는 일도 있습니다. ORB 에서는,arguments
또는 set_exception
의 어느 쪽인지를 개입시켜 receive_request
가 1 번만 불려 가는 것을 보증하고 있습니다. set_exception
를 개입시켜 불려 갔을 경우, 인수를 요구하면(자), 표준 마이너 코드 1 이 설정된 NO_RESOURCES
가 throw 됩니다.
이 차단점에서는, 시스템 예외가 throw 되는 경우가 있습니다. 이 예외가 throw 되었을 경우, 다른 인타세프타의 receive_request
오퍼레이션은 불려 가지 않습니다. 플로우 스택상의 그러한 인타세프타가 표시되어 그 send_exception
차단점이 불려 갑니다.
이 차단점에서는,ForwardRequest
예외가 throw 되는 경우도 있습니다. 이 예외가 throw 되었을 경우, 다른 인타세프타의 receive_request
오퍼레이션은 불려 가지 않습니다. 플로우 스택상의 그러한 인타세프타가 표시되어 그 send_other
차단점이 불려 갑니다.
이 차단점으로부터 시스템 예외를 throw 하는 경우, 준거하고 있는 인타세프타는 completion_status
시멘틱스에 엄밀하게 따릅니다. completion_status
는 COMPLETED_NO
가 됩니다.
ri
- 차단되는 현재의 요구에 관한 정보
ForwardRequest
- throw 되었을 경우는, 예외로 지정되고 있다
새로운 객체를 사용해 요구의 재시행을 하는 것을
ORB 에 통지한다void send_reply(ServerRequestInfo ri)
이 차단점에서는, 시스템 예외가 throw 되는 경우가 있습니다. 이 예외가 throw 되었을 경우, 다른 인타세프타의 send_reply
오퍼레이션은 불려 가지 않습니다. 플로우 스택내의 나머지의 인타세프타가 표시되어 그 send_exception
차단점이 불려 갑니다.
이 차단점으로부터 시스템 예외를 throw 하는 경우, 준거하고 있는 인타세프타는 completion_status
시멘틱스에 엄밀하게 따릅니다. completion_status
는 COMPLETED_YES
가 됩니다.
ri
- 차단되는 현재의 요구에 관한 정보void send_exception(ServerRequestInfo ri) throws ForwardRequest
이 차단점에서는, 시스템 예외가 throw 되는 경우가 있습니다. 이 예외가 throw 되면(자), 플로우 스택으로부터 표시된 후속의 인타세프타가 그 send_exception
호출로 수신하는 예외가 변경됩니다. 클라이언트에 throw 되는 예외는, 인타세프타에 의해 마지막에 throw 되는 예외가 됩니다. 다만, 예외를 변경하는 인타세프타가 없는 경우는 원의 예외가 됩니다.
이 차단점에서는,ForwardRequest
예외가 throw 되는 경우도 있습니다. 이 예외가 throw 되었을 경우, 다른 인타세프타의 send_exception
오퍼레이션은 불려 가지 않습니다. 플로우 스택내의 나머지의 인타세프타가 표시되어 그 send_other
차단점이 불려 갑니다.
이 예외의 completion_status
가 COMPLETED_NO
의 경우, 이 차단점에 의해 ForwardRequest
예외가 throw 되는 것은 적절하지는 않습니다. 이 요구의 「최대로 1 회」라고 하는 시멘틱스가 없어집니다.
이 차단점으로부터 시스템 예외를 throw 하는 경우, 준거하고 있는 인타세프타는
completion_status
시멘틱스에 엄밀하게 따릅니다. 원의 예외가 시스템 예외인 경우, 새로운 예외의
completion_status
는 원의 예외의 그것과 같게 됩니다. 원의 예외가 사용자 예외인 경우, 새로운 예외의 completion_status
는 COMPLETED_YES
가 됩니다.
ri
- 차단되는 현재의 요구에 관한 정보
ForwardRequest
- throw 되었을 경우는, 예외로 지정되고 있다
새로운 객체를 사용해 요구의 재시행을 하는 것을
ORB 에 통지한다
void send_other(ServerRequestInfo ri) throws ForwardRequest
LOCATION_FORWARD
상태가 설정된 GIOP 응답이 수신되었을 경우 등). 이 차단점은, 타겟의 호출과 같은 thread내에서 동작합니다.
이 차단점에서는, 시스템 예외가 throw 되는 경우가 있습니다. 이 예외가 throw 되었을 경우, 다른 인타세프타의 send_other
오퍼레이션은 불려 가지 않습니다. 플로우 스택내의 나머지의 인타세프타가 표시되어 그 send_exception
차단점이 불려 갑니다.
이 차단점에서는,ForwardRequest
예외가 throw 되는 경우도 있습니다. 이 예외가 throw 되었을 경우는, 후속의 인타세프타의 send_other
오퍼레이션이 불려 가ForwardRequest
예외에 의해 새로운 정보가 제공됩니다.
이 차단점으로부터 시스템 예외를 throw 하는 경우, 준거하고 있는 인타세프타는 completion_status
시멘틱스에 엄밀하게 따릅니다. completion_status
는 COMPLETED_NO
가 됩니다.
ri
- 차단되는 현재의 요구에 관한 정보
ForwardRequest
- throw 되었을 경우는, 예외로 지정되고 있다
새로운 객체를 사용해 요구의 재시행을 하는 것을
ORB 에 통지한다
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.