[ 소개 ]
- Service 는 하나의 Engine 과 하나이상의 Connector 의 조합으로 Request 를 처리하는데 사용된다.
- Server 안에 하나이상의 Service 가 중첩될 수 있다.
[ 속성 ]
1. 공통 속성
- 모든 Service 의 구현체는 다음 속성을 지원한다.
속성 | 설명 |
---|---|
className | (org.apache.catalina.Service 인터페이스를 구현한) 사용할 Java 클래스 이름 (기본값: 표준 구현체) |
name (필수) | Service 의 이름이며, 표준 Catalina 구성요소를 사용 시 로그 메시지에 해당 이름이 노출된다. Server 와 연결된 각각의 Service 는 고유한 이름을 가져야 한다. |
2. 표준 구현 속성
- Service 의 표준 구현체는 org.apache.catalina.core.StandardService 이며, 위 공통 속성 외에도 다음과 같은 속성을 지원한다.
속성 | 설명 |
---|---|
gracefulStopAwaitMillis | Service 를 중지할 때 Service 와 연관된 모듈이 중지되기 전에 (Request)클라이언트의 연결이 처리를 완료하고 연결이 끊어지기 전까지 기다리는 밀리초 시간이며 값이 0 이하인경우 대기하지 않는다. (기본값: 0) 이 대기는 <Connector> 의 bindOnInit 속성이 false 인 경우에 적용된다.(기본값: true) [ 추가 설명 ] Connector 의 bindOnInit 속성은 소켓이 언제 바인딩 되는지 제어하는 기능이다. (Request 소켓의 연결/해제) Connector 가 시작될 때 소켓이 바인딩 되는건 동일하지만 true 일 때는 Connector 가 종료될 때 바인딩이 해제되며, false 일때는 Connector 가 중지될 때 바인딩이 해제된다. 아마 bindOnInit 속성이 false 일때만 동작하는 이유는 Connector 가 중지될 때 플래그를 걸어 중지 프로세스를 해당 시간만큼 중지하지 못하도록 대기 시켜두는게 아닐까 싶다. |
1004lucifer
[ 중첩 구성 요소 ]
- Service 내에 포함 가능한 요소
1) Connector - 하나 이상 추가 가능
2) Engine - 하나만 추가 가능
[ 특수 기능 ]
- Service 와 관련된 특수 기능은 없음.
참고
- https://tomcat.apache.org/tomcat-11.0-doc/config/service.html
[ 실습 ]
1. name 속성 변경
- Service 요소를 여러개 사용하는게 아니라면 굳이 바꿔야 할 필요를 모르겠음.
댓글
댓글 쓰기