Service 클래스
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Google Protocol RPC 서비스는 매개변수를 사용하지 않는 팩토리나 생성자를 통해 생성됩니다. 그러나 일부 애플리케이션은 여러 요청에서 특정 상태 또는 구성을 서비스에 전달해야 합니다. 이를 위해서는 서비스 생성자에 대한 매개변수를 정의하고, new_factory() 클래스 메소드를 사용하여 생성자에 매개변수를 전송하는 팩토리를 만듭니다. 예를 들면 다음과 같습니다.
from protorpc import remote
class MyService(remote.Service):
def __init__(self, configuration, state):
self.configuration = configuration
self.state = state
configuration = MyServiceConfiguration()
global_state = MyServiceState()
my_service_factory = MyService.new_factory(configuration,
state=global_state)
이 서비스 핸들러와의 계약은 각 사용자 요청을 처리할 때마다 새로운 서비스 객체를 만들고 생성 시 매개변수를 사용하지 않는다는 것입니다. 팩토리는 이 조건을 충족합니다.
new_instance = my_service_factory()
assert new_instance.state is global_state
Service
는 protorpc.remote
모듈에서 제공됩니다.
클래스 속성
Service 인스턴스에는 다음과 같이 한 개의 속성이 있습니다.
- request_state
- 이 Service 인스턴스와 연결된 요청 상태입니다.
클래스 메서드
Service 클래스는 다음과 같은 클래스 메소드를 제공합니다.
- all_remote_methods()
-
Service 클래스의 모든 원격 메소드를 가져옵니다.
참고: 기본 제공 메소드는 원격 메소드 사전에 나타나지 않습니다.
메소드 이름을 원격 메소드에 매핑하는 사전을 반환합니다.
- new_factory(args, **kwargs)
-
서비스의 팩토리를 만듭니다. 서비스에 구성 또는 상태 객체를 전달하는 데 유용합니다. 임의의 매개변수와 키워드를 허용하지만 기본 서비스는 해당 생성자에서 다른 매개 변수를 허용하지 않아야 합니다.
인수- args
- 서비스 생성자에 전달할 인수입니다.
- **kwargs
새 인스턴스를 만들고 인수와 키워드를 생성자에 전달하는 팩토리 함수를 반환합니다.
인스턴스 메소드
Service 인스턴스에는 다음과 같은 메소드가 있습니다.
- initialize_request_state(request_state)
- 인수:
- request_state
- RequestState 인스턴스입니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-19(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-19(UTC)"],[[["\u003cp\u003eGoogle Protocol RPC services typically use parameterless constructors or factories, but the \u003ccode\u003enew_factory()\u003c/code\u003e method allows for passing state or configuration to the service constructor.\u003c/p\u003e\n"],["\u003cp\u003eA new service object is created for each user request, adhering to the contract that service construction does not take parameters, a condition fulfilled by the factory.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eService\u003c/code\u003e class from \u003ccode\u003eprotorpc.remote\u003c/code\u003e offers class methods like \u003ccode\u003eall_remote_methods()\u003c/code\u003e to get all remote methods, excluding built-in methods, and \u003ccode\u003enew_factory()\u003c/code\u003e to pass configuration or state objects during service creation.\u003c/p\u003e\n"],["\u003cp\u003eService instances have one property, \u003ccode\u003erequest_state\u003c/code\u003e, and one instance method, \u003ccode\u003einitialize_request_state(request_state)\u003c/code\u003e which initializes a RequestState instance.\u003c/p\u003e\n"]]],[],null,[]]