내용 목차
본 장에서는 도메인에 서버를 추가하는 방법과 서버를 추가할 때 꼭 필요한 설정에 대해서 설명한다. 또한 서버에 설정을 변경할 때의 동작 방법에 대해서 설명한다.
JEUS에서는 WebAdmin과 콘솔 툴을 통해 서버의 설정을 변경할 수 있다. 서버의 엔진에서 동작하는 애플리케이션이 보안 인증과 권한 검사를 필요로 하지 않는다면 JEUS에서 보안 기능을 사용하지 않도록 설정한다.
위와는 별도로 하위 구성 요소들에 대한 튜닝도 확인해야 한다. 이에 대한 설명은 각 구성 요소에 대한 장을 참고한다.
본 절에서는 WebAdmin과 콘솔 툴을 통해 도메인에 서버를 추가하는 방법과 서버를 추가할 때 반드시 필요로 하는 최소 설정에 대해 설명한다. 서버 설정에 대한 자세한 내용은 “2.3. 서버 설정”을 참고한다.
WebAdmin을 사용해서 서버를 추가할 경우에는 서버의 모든 설정을 추가할 수 있다. 그러나 콘솔 툴을 통해 명령을 사용해서 서버를 추가할 경우에는 서버의 모든 설정을 추가할 수 없다.
다음은 WebAdmin을 사용해서 서버를 추가하는 과정에 대한 설명이다.
WebAdmin의 왼쪽 메뉴에 [Servers]를 선택하면 서버 목록 화면으로 이동한다.
서버를 추가하려면 설정 변경을 위한 Lock을 가져오는 작업이 선행되어야 한다. 서버를 추가하기 전에 왼쪽 메뉴의 하단에 위치한 [LOCK & EDIT] 버튼을 클릭해서 동적 설정변경 모드로 전환한다.
서버 목록 화면([그림 2.1])에 [ADD]버튼을 클릭하면 서버 설정화면으로 이동한다. 서버 설정화면에서 추가할 서버의 이름과 'Jvm Option'을 설정하고 [확인] 버튼을 클릭한다.
필요한 경우 서버의 고급 선택사항을 설정한다. 서버를 추가할 때 이 설정이 반드시 필요하지 않기 때문에 상세한 항목 설정은 하지 않는다.
다음은 주요 설명 항목에 대한 설명이다. 각 설정 항목에 대한 자세한 내용은 화면의 설명을 참고한다.
항목 | 설명 |
---|---|
Log Home | 각종 로그들이 저장되는 경로를 지정한다. 자세한 설명은 “8.2. JEUS 로거 기본 구조”를 참고한다. |
Node Name | 추가할 서버가 속하는 노드의 이름을 설정한다. 노드 매니저에 대한 자세한 내용은 "JEUS Node Manager 안내서"를 참고한다. |
Group | 서버 관리를 위한 그룹을 설정한다. WebAdmin에서 그룹별로 서버를 관리할 수 있다. |
Action On Resource Leak | 설정에 대한 자세한 내용은 “2.3.1.2. Action On Resource Leak 설정”을 참고한다. |
Data Source Remote Lookup | Remote JVM상에서의 데이터소스 Lookup이 가능하도록 한다. 데이터소스 Lookup을 통해 Remote JVM에서 Connection Pool을 구성하여 사용하던 기존 Standalone Client를 지원할 수 있다. |
Engine Init On Startup | 서버 내부의 엔진들(Web, EJB, JMS)의 초기화 시점을 설정한다. 자세한 설명은 “3.2.2. 엔진 초기화 시점 설정”을 참고한다. 이 부분이 체크되면 서버가 초기화 될 때 내부 엔진들도 함께 초기화 되고, 체크되지 않았을 경우에는 각 엔진별로 애플리케이션이 deploy될 경우에 초기화된다. 단, JMS 엔진의 경우 EJB 애플리케이션이 MDB(Message Driven Bean)일 경우에 애플리케이션이 deploy될 때 초기화된다. 이 설정은 서버를 재기동해야 적용된다. |
Use Web Engine | 서버 내부의 웹 애플리케이션을 사용하기 위한 내부 엔진의 사용 여부를 설정한다. 자세한 설명은 “3.2.1. 엔진 사용 여부 설정”을 참고한다. 사용하지 않음으로 설정하고 웹 애플리케이션을 deploy를 하면 deploy는 실패한다. 이 설정은 서버를 재기동해야 적용된다. |
Use Ejb Engine | 서버 내부의 EJB 애플리케이션을 사용하기 위한 내부 엔진의 사용 여부를 설정한다. 자세한 설명은 “3.2.1. 엔진 사용 여부 설정”을 참고한다. . |
Use Jms Engine | 서버 내부의 JMS 서비스를 사용하기 위한 내부 엔진의 사용 여부를 설정한다. 자세한 설명은 “3.2.1. 엔진 사용 여부 설정”을 참고한다. |
Managed Executor Service | Concurrency Utilities for Java EE(JSR-236) 스펙에서 사용할 ManagedExecutorService를 설정한다. 애플리케이션 서버가 리소스 및 컨텍스트를 관리하는 ExecutorService 상에서 작업을 실행할 수 있다. 자세한 설명은 “JEUS Concurrency Utilities 안내서”의 “제2장 Managed Objects”를 참고한다. |
Managed Scheduled Executor Service | Concurrency Utilities for Java EE(JSR-236) 스펙에서 사용할 ManagedScheduledExecutorService를 설정한다. 애플리케이션 서버가 리소스 및 컨텍스트를 관리하는 ScheduledExecutorService 상에서 주기적인 작업을 실행할 수 있다. 자세한 설명은 “JEUS Concurrency Utilities 안내서”의 “제2장 Managed Objects”를 참고한다. |
Context Service | Concurrency Utilities for Java EE(JSR-236) 스펙에서 사용할 ContextService를 설정한다. 작업(Task) 자체를 Dynamic Proxy 기술을 통해 컨텍스트를 유지시켜준다. 자세한 설명은 “JEUS Concurrency Utilities 안내서”의 “제2장 Managed Objects”를 참고한다. |
Managed Thread Factory | Concurrency Utilities for Java EE(JSR-236) 스펙에서 사용할 ManagedThreadFactory를 설정한다. 해당 ThreadFactory에서 생성된 스레드 상에서 동작하는 작업(Task)들의 Context가 유지된다. 자세한 설명은 “JEUS Concurrency Utilities 안내서”의 “제2장 Managed Objects”를 참고한다. |
변경한 설정 내용이 저장되고 결과 메시지가 상단에 표시된다.
기본 정보 화면 상단에 메뉴에서 [Basic] > [System Thread Pool]을 선택하면 System Thread Pool 설정화면으로 이동한다. 해당 화면에서 'Max' 값을 변경하고 [확인] 버튼을 클릭한다.
변경한 설정 내용이 저장되고 결과 메시지가 상단에 표시된다.
System Thread Pool 저장이 완료되면 다음은 서버의 Listener를 정보를 설정해야 한다.
[Resource] > [Listener] 메뉴를 선택하면 Listener 목록 화면으로 이동한다. Listener 목록에서 [ADD] 버튼을 클릭하여 서버의 기본 Listener를 생성한다.
서버의 기본 Listener의 이름과 필요할 경우 서버가 참조할 주소와 포트 번호를 입력하고 [확인] 버튼을 클릭한다. 예제 화면에선 따로 'Listen Address'를 입력하지 않는다.
변경한 설정 내용이 저장되고 화면 상단에 결과 메시지가 나타난다. 화면의 Listener 목록에 Listener가 추가된 것을 확인할 수 있다.
추가한 Listener를 기본 Listener로 설정한다. 'Base' 항목에서 추가한 Listener를 선택한다.
[확인] 버튼을 클릭하면 서버에 변경 결과가 저장되고 다음과 같은 메시지가 나타난다. 설정 정보는 임시 저장이 되고 서버에 실제 적용된 것은 아님을 유의해야 한다.
[Engine] 탭을 선택해서 [Web Engine], [Jms Engine], [Ejb Engine] 메뉴를 선택해서 엔진의 정보를 설정한다.
각 단계별 설정이 완료되면 [Activate Changes] 버튼을 클릭해서 지금까지 서버를 추가하고 변경한 서버 설정들을 서버에 적용한다.
[Activate Changes] 버튼을 클릭하면 다음과 같은 Activate를 확인할 수 있는 팝업 화면이 나타난다. [확인] 버튼을 클릭하면 수정한 결과가 반영된다.
실제 DAS에서 Activate가 완료되면 도메인에 서버가 추가된다. 그리고 서버 추가에 대한 결과가 WebAdmin 화면 상단에 자세한 메시지로 출력된다.
Activate가 성공하면 결과를 반영하고 난 후 설정 변경 Lock 설정을 해제한다. 화면에 다시
[LOCK & EDIT] 버튼이 나타난 것을 확인할 수 있다. Lock
설정과 관련된 자세한 내용은 "JEUS WebAdmin 안내서"를 참고한다.
WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택해서 서버 목록 조회 화면으로 이동하면 새로 추가된 서버를 확인할 수 있다.
서버 목록에서 [start] 버튼을 클릭하여 서버를 실행한다. WebAdmin에서 서버를 시작하기 위해서는 해당 서버가 설치된 노드의 노드 매니저가 동작중이어야 한다. 노드 매니저에 대한 설명은 "JEUS Node Manager 안내서"를 참고한다. 서버의 [start] 버튼을 클릭하면 다음과 같은 설정화면이 나타난다. 서버의 시작 설정과 관련된 자세한 내용은 “3.1.2. Managed Server 시작”을 참고한다.
서버가 시작되면 다음과 같이 화면 상단에서 서버 시작 결과에 대한 메시지를 확인할 수 있다. 또한
서버의 상태가 RUNNING으로 바뀐 것을 확인할 수 있다.
콘솔 툴에서는 add-server 명령을 통해 서버를 추가할 수 있다. 하지만 이 명령으로는 몇 가지 설정에 대해서만 추가할 수 있기 때문에 서버를 추가하고 난 뒤에 별도의 명령들을 통해 설정을 변경해야 한다. 만약 엔진 설정을 변경하는 경우 웹 엔진, EJB 엔진, JMS 엔진 명령어를 사용한다.
웹 엔진 설정을 변경하는 명령어(“JEUS Reference Book”의 “4.2.8. 웹 엔진 관련 명령어”), EJB 엔진 설정을 변경하는 명령어(“JEUS Reference Book”의 “4.2.7. EJB 엔진 관련 명령어”), JMS 엔진 설정을 변경하는 명령어(“JEUS Reference Book”의 “4.2.10. JMS 엔진 관련 명령어”)에 대한 자세한 설명은 관련 안내서를 참고한다.
다음은 콘솔 툴에서 서버를 추가하는 예제이다.
[DAS]domain1.adminServer>serverinfo Information about Domain (domain1) ================================================================================ +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | Server| Status |Node | PID | Clu | Latest | Need | Listen |Running | | | |Name | |ster | Start Time | to | Ports |Engines | | | | | | | / Shutdown |Restart | | | | | | | | | Time | | | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | admin | RUNNING | nod | 116 | N/A | 2016-08-24 | false | base-0.0. | jms, | |Server |(00:03:1 |e1 |35 | | (수) 오전 | |0.0:9736 |ejb, web| |(*) |2) | | | |11:09:58 KST| | http-serv | | | | | | | | | |er-0.0.0.0 | | | | | | | | | |:8088 | | | | | | | | | | jms-0.0.0 | | | | | | | | | |.0:9741 | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | serve | RUNNING | nod | 118 | N/A | 2016-08-24 | false | base-0.0. | jms, | |r1 |(00:01:4 |e1 |08 | | (수) 오전 | |0.0:9836 |ejb, web| | |8) | | | |11:11:22 KST| | | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ ================================================================================ [DAS]domain1.adminServer>>add-server server2 -addr 192.168.15.59 -baseport 9936 -node node1 -jvm "-Xmx512m -XX:MaxPermSize=128m" Successfully performed the ADD operation for server (server2). Check the results using "list-servers or add-server". [DAS]domain1.adminServer>>modify-system-thread-pool server2 -max 200 Successfully performed the MODIFY operation for the system thread pool of the server (server2), but all changes were non-dynamic. They will be applied after restarting. Check the results using "modify-system-thread-pool server2 or show-system-thread-pool server2". [DAS]domain1.adminServer>>serverinfo Information about Domain (domain1) ================================================================================ +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | Server| Status |Node | PID | Clu | Latest | Need | Listen |Running | | | |Name | |ster | Start Time | to | Ports |Engines | | | | | | | / Shutdown |Restart | | | | | | | | | Time | | | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | admin | RUNNING | nod | 116 | N/A | 2016-08-24 | false | base-0.0. | jms, | |Server |(01:35:1 |e1 |35 | | (수) 오전 | |0.0:9736 |ejb, web| |(*) |2) | | | |11:09:58 KST| | http-serv | | | | | | | | | |er-0.0.0.0 | | | | | | | | | |:8088 | | | | | | | | | | jms-0.0.0 | | | | | | | | | |.0:9741 | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | serve | RUNNING | nod | 118 | N/A | 2016-08-24 | false | base-0.0. | jms, | |r1 |(01:33:4 |e1 |08 | | (수) 오전 | |0.0:9836 |ejb, web| | |8) | | | |11:11:22 KST| | | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | serve | SHUTDOWN| nod | N/A | N/A | N/A | N/A | N/A | N/A | |r2 | |e1 | | | | | | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ ================================================================================ [DAS]domain1.adminServer>>start-server server2 The server(server2) was successfully started. The server is [RUNNING] [DAS]domain1.adminServer>>serverinfo Information about Domain (domain1) ================================================================================ +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | Server| Status |Node | PID | Clu | Latest | Need | Listen |Running | | | |Name | |ster | Start Time | to | Ports |Engines | | | | | | | / Shutdown |Restart | | | | | | | | | Time | | | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | admin | RUNNING | nod | 116 | N/A | 2016-08-24 | false | base-0.0. | jms, | |Server |(01:35:3 |e1 |35 | | (수) 오전 | |0.0:9736 |ejb, web| |(*) |8) | | | |11:09:58 KST| | http-serv | | | | | | | | | |er-0.0.0.0 | | | | | | | | | |:8088 | | | | | | | | | | jms-0.0.0 | | | | | | | | | |.0:9741 | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | serve | RUNNING | nod | 118 | N/A | 2016-08-24 | false | base-0.0. | jms, | |r1 |(01:34:1 |e1 |08 | | (수) 오전 | |0.0:9836 |ejb, web| | |3) | | | |11:11:22 KST| | | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ | serve | RUNNING | nod | 136 | N/A | 2016-08-24 | false | base-192. | jms, | |r2 |(00:00:0 |e1 |60 | | (수) 오후 | |168.15.59: |ejb, web| | |9) | | | |12:45:27 KST| |9936 | | +-------+---------+-----+-----+-----+------------+--------+-----------+--------+ ================================================================================
서버 설정은 WebAdmin이나 콘솔 툴 사용 설정 가능하다. 콘솔 툴의 경우는 WebAdmin에서처럼 서버의 모든 설정을 변경할 수는 없다. 콘솔 툴에서는 사용자가 많이 사용하는 주요 설정만 사용할 수 있도록 한다. 콘솔 툴에서 변경할 수 없는 설정은 WebAdmin을 통해서 변경해야 한다.
본 절에서는 기본적인 설정에 대해서 설명한다. 설명하지 않은 설정들에 대해서는 관련 서비스에 대한 안내서를 참고한다.
서버의 기본 설정 중 Class FTP, Use MEJB, Log Stdout To Raw Format은 동적 변경 가능하다. 동적 반영되는 설정은 WebAdmin에서는 아이콘()을 통해 확인할 수 있고, 콘솔 툴에서는 help 명령을 통해 modify-server 명령을 실행하면 조회할 수 있다. 각 명령어에 대한 자세한 내용은 "JEUS Reference Book"을 참고한다.
다음은 WebAdmin을 통해 동적 변경이 가능한 기본 설정들을 변경하는 과정에 대한 설명이다.
WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 화면으로 이동한다.
서버 목록에서 설정할 서버(server1)를 선택하면 서버 설정화면으로 이동한다. 설정화면에서 [Basic] 탭을 선택한다.
설정 변경을 위해서는 Lock을 가져오는 작업이 선행되어야 한다. 왼쪽 메뉴의 하단에 위치한 [LOCK & EDIT] 버튼을 클릭해서 동적 설정변경 모드로 전환한다.
고급 선택사항에서 'Use MEJB', 'Log Stdout To Raw Format' 항목을 설정한다.
설정이 완료되면 [확인] 버튼을 클릭한다. 설정 정보의 반영을 위해서 [Activate Chages] 버튼을 클릭한다.
설정 변경의 결과로 화면 상단에 설정 변경 결과 메시지가 출력된다. 'Use MEJB', 'Log Stdout To Raw Format' 설정이 변경되고 서버에 반영된 것을 확인할 수 있다.
다음은 콘솔 툴 사용 동적 변경 가능한 기본 설정을 변경하는 예이다.
[DAS]domain1.adminServer>>modify-server server2 Shows the current configuration. server (server2) ================================================================================ +-----------------------------------+------------------------------------------+ | Node | node1 | | JVM Configs | -Xmx512m -XX:MaxPermSize=128m | | Action On Resource Leak | WARNING | | Stdout to Raw Format | true | | MEJB | false | | Class FTP | false | | Server Log Home Directory | none | +-----------------------------------+------------------------------------------+ ================================================================================ [DAS]domain1.adminServer>>modify-server server2 -logStdoutToRawFormat false -mejb true -classFtp true Successfully performed the MODIFY operation for server (server2), but all changes were non-dynamic. They will be applied after restarting. Check the results using "list-servers server2 or modify-server server2". [DAS]domain1.adminServer>>modify-server server2 Shows the current configuration. server (server2) ================================================================================ +-----------------------------------+------------------------------------------+ | Node | node1 | | JVM Configs | -Xmx512m -XX:MaxPermSize=128m | | Action On Resource Leak | WARNING | | Stdout to Raw Format | false | | MEJB | true | | Class FTP | true | | Server Log Home Directory | none | +-----------------------------------+------------------------------------------+ ================================================================================
Action On Resource Leak은 서버에서 사용되는 리스소가 닫혔는지 여부를 확인해서 설정한 동작을 수행하고 사용자에게 Resource Leak이 있다는 것을 알려주는 기능이다. 서버에서 이런 역할을 담당하는 것을 Invocation Manager라고 한다.
Invocation Manager는 서버에서 Servlet/JSP, EJB Stateless Session Bean, 그리고 MDB와 같은 Stateless 메소드를 호출하는 동안 사용하는 외부 리소스(external resource)인 JDBC Connection과 Webt Connection을 추적하여 Connection이 닫히지 않은 경우 모드에 따라 사용하는 리소스에 대해 logging을 남기거나 반환하는 작업을 한다. 이 구성요소를 위해 3가지 모드 중 하나를 선택할 수 있다.
모드 | 설명 |
---|---|
NoAction | 반환되지 않은 리소스가 있더라도 아무런 동작을 하지 않는다. |
Warning | 컴포넌트 호출 후에 반환되지 않은 리소스에 대한 로그를 남긴다. (기본값) |
AutoClose | 컴포넌트 호출 후에 반환되지 않은 리소스에 대한 로그를 남기고 이를 닫아준다. |
다음은 WebAdmin을 통해 Action On Resource Leak을 설정하는 예이다.
WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 화면으로 이동한다. 서버 목록에서 서버(server1)를 선택하면 서버 설정화면으로 이동한다. 해당 화면에서 [Basic] 탭을 선택한다.
설정 변경을 위해서는 Lock을 가져오는 작업이 선행되어야 한다. 왼쪽 메뉴의 하단에 위치한 [LOCK & EDIT] 버튼을 클릭해서 동적 설정변경 모드로 전환한다.
'Action On Resource Leak' 항목의 설정을 변경하고 [확인] 버튼을 클릭한다.
설정 정보를 반영하려면 [Activate Chages] 버튼을 클릭한다.
화면 상단에 설정 변경 결과 메시지가 출력되고, 서버의 Action On Resource Leak 설정이 변경된 것을 확인할 수 있다. 운영 중인 서버의 Action On Resource Leak 설정을 변경했다면 설정 변경은 성공했으나 서버에 적용할 수 없다는 메시지를 확인할 수 있다. 이 경우 변경한 Action On Resource Leak 설정을 적용하고 싶다면 서버를 재기동해야 한다.
다음은 콘솔 툴의 modify-server 명령을 통해 Action On Resource Leak을 변경하는 예이다.
서버를 부팅하기 전에 modify-server 명령을 통해 현재 설정을 변경할 서버의 설정을 조회한다.
[DAS]domain1.adminServer>modify-server server2
Shows the current configuration.
server (server2)
================================================================================
+-----------------------------------+------------------------------------------+
| Node | node1 |
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m |
| Action On Resource Leak | WARNING |
| Stdout to Raw Format | false |
| MEJB | true |
| Class FTP | true |
| Server Log Home Directory | none |
+-----------------------------------+------------------------------------------+
================================================================================
server2의 Action On Resource Leak 설정을 AutoClose로 설정한다.
[DAS]domain1.adminServer>modify-server server2 -actionOnResourceLeak AutoClose
Successfully performed the MODIFY operation for server (server2).
Check the results using "list-servers server2 or modify-server server2".
동적 반영이 되지 않는 옵션들의 경우는 서버를 부팅하기 전에 변경해야 한다. 운영 중인 서버에 이런 설정을 수정하게 되면 동적으로 반영되지 않기 때문에 서버를 재기동해야 한다.
modify-server 또는 list-servers 명령을 통해 변경한 설정이 잘 반영되었는지를 확인한다.
[DAS]domain1.adminServer>modify-server server2
Shows the current configuration.
server (server2)
================================================================================
+-----------------------------------+------------------------------------------+
| Node | node1 |
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m |
| Action On Resource Leak | AUTO_CLOSE |
| Stdout to Raw Format | false |
| MEJB | true |
| Class FTP | true |
| Server Log Home Directory | none |
+-----------------------------------+------------------------------------------+
================================================================================
서버 'server2'을 시작한다.
[DAS]domain1.adminServer>start-server server2
The server(server2) was successfully started. The server is [RUNNING]
콘솔 툴이나 WebAdmin에서 start-server 명령이 가능하려면 SSH를 사용할 수 있는 환경이어야 하고, 노드 설정이 되어 있어야 한다. 노드 매니저에 대한 자세한 설명은 "JEUS Node Manager 안내서"를 참고한다.
'server2'의 Action On Resource Leak 설정을 다시 원래 값인 WARNING으로 변경한다.
이 설정은 서버가 운영 중이기 때문에 설정 변경만 되고 실제로 서버에 적용되지는 않는다. 변경한 설정이 적용되길 원한다면 서버를 재기동해야 한다.
[DAS]domain1.adminServer>modify-server server2 -actionOnResourceLeak Warning
Successfully performed the MODIFY operation for server (server2), but all changes were non-dynamic. They will be applied after restarting.
Check the results using "list-servers server2 or modify-server server2".
modify-server 또는 list-servers 명령을 통해 변경한 설정을 확인한다.
[DAS]domain1.adminServer>modify-server server2
Shows the current configuration.
server (server2)
================================================================================
+-----------------------------------+------------------------------------------+
| Node | node1 |
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m |
| Action On Resource Leak | WARNING |
| Stdout to Raw Format | false |
| MEJB | true |
| Class FTP | true |
| Server Log Home Directory | none |
+-----------------------------------+------------------------------------------+
================================================================================
위에서 사용한 콘솔 툴 명령에 대한 자세한 설명은 “JEUS Reference Book”의 “4.2.3. Server Management 관련 명령어”에서 해당 명령어에 대한 내용을 참고한다.
Jvm Config는 서버를 실행하기 위해 개별적인 JVM에 추가할 파라미터들을 선언하는 데 사용된다. 여기에 설정한 값들을 Launcher 프로세스에서 서버를 시작하기 전에 이 값을 읽어서 서버 JVM을 생성할 때 파라미터로 추가한다. 지정 가능한 JEUS 파라미터들의 목록은 “JEUS Reference Book”의 “1.2. 서버 시스템 프로퍼티”를 참고한다. 표준 JVM 파라미터들도 설정 가능하다.
서버에 적용할 JVM 옵션, 시스템 프로퍼티와 더불어 JEUS에서 제공하는 시스템 프로퍼티도 여기에 설정할 수 있다. 주로 JVM 메모리나 옵션들을 설정하는데, 이는 서버의 운영 환경에 맞는 적절한 값을 설정해야 한다. JVM Config 관련 추가적인 설명은 “JEUS Domain 안내서”의 “3.6.2. 서버의 JVM 설정변경”을 참고한다.
서버가 운영 중일 때는 이 값을 변경해도 반영되지 않는다. 동적 설정 반영의 대상이 아니기 때문에 운영 중인 서버에 이 값을 변경한 경우에는 서버를 재기동해야 적용된다.
다음은 WebAdmin을 통해 Jvm Config를 설정하는 과정에 대한 설명이다.
WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 화면으로 이동한다. 서버 목록에서 설정 정보를 변경할 서버(server1)를 선택하면 서버 설정화면으로 이동한다. 설정화면에서 [Basic] 탭을 선택한다.
설정 변경을 위해서는 Lock을 가져오는 작업이 선행되어야 한다. 왼쪽 메뉴의 하단에 위치한 [LOCK & EDIT] 버튼을 클릭해서 동적 설정변경 모드로 전환한다.
'Jvm Option' 항목의 설정을 변경하고 [확인] 버튼을 클릭하면 변경한 설정 내용이 저장되고, 결과 메시지가 나타난다.
설정 정보의 반영을 위해 [Activate Chages] 버튼을 클릭한다.
화면 상단에 설정 변경 결과 메시지가 출력되고, 서버의 JVM 설정이 변경된 것을 확인할 수 있다. 운영 중인 서버의 Jvm Config를 변경했다면 아래와 같이 설정 변경은 성공하였으나 변경한 JVM 설정을 서버에 적용할 수 없다는 메시지를 확인할 수 있다. 이 경우 변경한 JVM 설정을 적용하고 싶다면 서버를 재기동해야 한다.
콘솔 툴의 modify-server, add-jvm-option, modify-jvm-option, remove-jvm-option을 이용하여 서버의 JVM 설정을 변경 할 수 있다. 명령에 대한 자세한 설명은 “JEUS Domain 안내서”의 “3.6.2. 서버의 JVM 설정변경”, 콘솔 툴 명령에 대한 자세한 설명은 “JEUS Reference Book”의 “4.2.3. Server Management 관련 명령어”를 참고한다.
다음은 콘솔 툴의 modify-server 명령을 통해 서버의 JVM 설정을 변경하는 예이다.
서버를 부팅하기 전에 modify-server 명령을 통해 현재 설정을 변경할 서버의 설정을 조회한다.
[DAS]domain1.adminServer>modify-server server1
Shows the current configuration.
server (server1)
=====================================================================
+---------------------------------------------------------+---------+
| Node | node1 |
| Action On Resource Leak | WARNING |
| Stdout to Raw Format | true |
| MEJB | false |
| Class FTP | false |
| Server Log Home Directory | none |
+---------------------------------------------------------+---------+
=====================================================================
server1에 JVM 옵션을 추가한다. JVM의 최대 Heap 메모리를 512MB로 설정하고, 최대 Permanent 메모리를 128MB로 설정한다.
[DAS]domain1.adminServer>modify-server server1 -jvmOptions "-Xmx512m -XX:MaxPermSize=128m"
Successfully performed the MODIFY operation for server (server1).
Check the results using "list-servers server1 or modify-server server1".
동적 반영이 되지 않는 옵션들의 경우는 서버를 부팅하기 전에 변경해야 한다. 운영 중인 서버의 설정 정보를 변경하면 동적으로 반영되지 않기 때문에 서버를 재기동해야 한다.
modify-server 또는 list-servers 명령을 통해 변경한 설정의 정상 반영을 확인한다.
[DAS]domain1.adminServer>modify-server server1
Shows the current configuration.
server (server1)
================================================================================
+-----------------------------------+------------------------------------------+
| Node | node1 |
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m |
| Action On Resource Leak | WARNING |
| Stdout to Raw Format | true |
| MEJB | false |
| Class FTP | false |
| Server Log Home Directory | none |
+-----------------------------------+------------------------------------------+
================================================================================
서버 'server1'을 시작한다.
[DAS]domain1.adminServer>start-server server1
The server(server1) was successfully started. The server is [RUNNING]
콘솔 툴이나 WebAdmin에서 start-server 명령이 가능하려면 SSH를 사용할 수 있는 환경이어야 하고, 노드가 설정되어 있어야 한다. 노드 매니저에 대한 자세한 설명은 "JEUS Node Manager 안내서"를 참고한다.
'server1'에 JVM 옵션을 추가한다.
서버에 OutOfMemoryError가 발생한 경우 Heap Dump 파일을 남기는 옵션을 추가하였다. 이 설정은 서버가 운영 중이기 때문에 설정 변경만 되고 실제로 서버에 반영되지는 않는다. 변경한 설정이 반영되길 원한다면 서버를 재기동해야 한다.
[DAS]domain1.adminServer>modify-server server1 -jvmOptions "-XX:+HeapDumpOnOutOfMemoryError" Successfully performed the MODIFY operation for server (server1), but all changes were non-dynamic. They will be applied after restarting. Check the results using "list-servers server1 or modify-server server1".
modify-server 또는 list-servers 명령을 통해 변경한 설정을 확인한다.
[DAS]domain1.adminServer>modify-server server1
Shows the current configuration.
server (server1)
================================================================================
+---------------------------+--------------------------------------------------+
| Node | node1 |
+---------------------------+--------------------------------------------------+
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m, |
| |-XX:+HeapDumpOnOutOfMemoryError |
+---------------------------+--------------------------------------------------+
| Action On Resource Leak | WARNING |
+---------------------------+--------------------------------------------------+
| Stdout to Raw Format | true |
+---------------------------+--------------------------------------------------+
| MEJB | false |
+---------------------------+--------------------------------------------------+
| Class FTP | false |
+---------------------------+--------------------------------------------------+
| Server Log Home Directory | none |
+---------------------------+--------------------------------------------------+
================================================================================
본 절에는 서버에 부가적인 클래스 패스를 추가하는 방법에 대해 설명한다. 서버에 클래스 패스를 추가하는 설정은 WebAdmin을 통해서만 가능하다.
서버가 운영 중일 때는 이 값을 변경해도 반영되지 않는다. 동적 설정 반영의 대상이 아니기 때문에 운영 중인 서버에 이 값을 변경한 경우에는 서버를 재기동해야 적용된다
다음은 WebAdmin을 통해 서버에 클래스 패스를 추가하는 설정들을 변경하는 예이다.
WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 화면으로 이동한다. 서버 목록에서 서버(server1)를 선택하면 서버 설정화면으로 이동한다. 설정화면에서 [Basic] 탭을 선택한다.
설정 변경을 위해서는 Lock을 가져오는 작업이 선행되어야 한다. 왼쪽 메뉴의 하단에 위치한 [LOCK & EDIT] 버튼을 클릭해서 동적 설정변경 모드로 전환한다.
고급 선택사항에서 User Interceptor의 하위 항목에 원하는 클래스 패스를 추가한다. 설정이 완료되면 [확인] 버튼을 클릭한다.
설정 정보를 적용하기 위해서 [Activate Chages] 버튼을 클릭한다. 설정 변경이 완료된 결과 화면으로 상단에 설정 변경 결과 메시지가 출력되고, 서버에 User Interceptor 설정이 추가된 것을 확인할 수 있다.
운영 중인 서버의 User Interceptor 설정을 변경했다면 설정 변경은 성공하였으나 변경한 User Interceptor 설정을 서버에 적용할 수 없다는 메시지를 확인할 수 있다. 이 경우 변경한 User Interceptor 설정을 적용하고 싶다면 서버를 재기동해야 한다.
본 절에서는 서버에서 사용하는 네트워크 Listener 설정에 대해서 설명한다.
네트워크 Listener는 서버에서 수행되는 시스템 서비스들이나 각종 엔진에서 참조하여 그 설정을 사용하기 위한 것이다. 이 Listener는 포트 통합 서비스가 적용되어 있기 때문에 각자 다른 서비스나 엔진에서 하나의 Listener를 공유해서 사용하도록 설정할 수도 있다. 극단적인 예로는 기본 Listener 하나만을 열어두고 모든 서비스를 해당 Listener를 통해서 서비스하는 것도 가능하다.
서버가 운영 중일 때 이 값을 변경하려고 하면 반영되지 않는다. 동적 설정 반영의 대상이 아니기 때문에 운영 중인 서버에 이 값을 변경한 경우에는 서버를 재기동해야 적용된다
다음은 WebAdmin에서 기본 Listener를 설정하는 방법이다. 기본 Listener는 설정된 Listener 중의 하나를 선택하게 되며, JEUS의 가장 기본적인 시스템 서비스 및 Webadmin 등이 이 Listener를 사용하게 된다.
새로운 Listener는 [LOCK & EDIT] 버튼을 누르고 Add 버튼을 눌러서 추가할 수 있다. 개별 Listener의 기본적인 설정은 다른 시스템 서비스나 엔진에서 참조할 이름을 반드시 설정하며, 다른 Listener와 중복되지 않도록 포트 번호를 설정한다.
다음은 Listener에 적용할 수 있는 SSL(Secure Socket Layer) 설정이다. 해당 Listener를 사용하는 서비스나 엔진이 SSL로 서비스를 한다. (예: https)
본 절에서는 서버에서 사용하는 공용 Thread Pool에 대한 설정을 설명한다.
서버에서 사용되는 서비스들이 전용 Thread Pool을 별도로 설정해서 사용하지 않는다면 모두 이 공용 Thread Pool을 사용한다. 공용 Thread Pool을 사용하는 서비스는 트랜잭션 서비스와 JNDI 서비스, 스케줄러 서비스가 있다. 이 서비스들은 설정에 따라 공용 Thread Pool을 사용할 수도 있고, 전용 Thread Pool을 사용할 수도 있다. 공용 Thread Pool을 사용한다면 서비스에서 사용할 최소 Thread 개수를 미리 할당해 놓을 수 있다.
애플리케이션의 요청을 처리하는 엔진에서는 공용 Thread Pool을 사용하지 않는다. 서비스에서 전용 Thread Pool을 사용하는 방법에 대한 설명은 “제4장 JNDI Naming Server”와 “제7장 트랜잭션 매니저”와 "JEUS Scheduler 안내서"를 참고한다.
다음은 WebAdmin에서 Thread Pool을 설정하는 방법에 대한 설명이다.
WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 화면으로 이동한다. 서버 목록에서 서버를 선택하면 서버 설정화면으로 이동한다. 설정화면에서 [Basic] 탭을 선택하고 하위에 [System Thread Pool] 메뉴를 선택한다.
System Thread Pool 설정을 변경하려면 설정 변경을 위한 Lock을 가져오는 작업이 선행되어야 한다.
Lock을 설정하기 전에 현재 설정된 System Thread Pool의 정보를 확인할 수 있다. 설정을 변경하려면 왼쪽 메뉴의 하단에 위치한 [LOCK & EDIT] 버튼을 클릭해서 Lock을 가져와야 한다. Lock을 가져온 후에는 System Thread Pool 설정을 변경할 수 있는 화면으로 변경된다.
Thread Pool의 'Max'와 'Keep Alive Time'을 변경하고 [확인] 버튼을 클릭한다.
다음은 설정 항목에 대한 설명이다.
기본 설정
항목 | 설명 |
---|---|
Min | Thread Pool에서 관리하는 Thread의 최소 개수를 의미한다. 필요할 때 Thread를 생성한다. (기본값: 0) |
Max | Thread Pool에서 관리하는 Thread의 최대 개수를 의미한다. (기본값: 100) |
고급 선택사항
항목 | 설명 |
---|---|
Keep Alive Time | Thread Pool에서 사용하지 않는 Thread를 자동으로 정리할 시간을 설정한다. Min으로 설정한 값 이상의 Thread가 설정된 시간 동안 사용되지 않을 경우 자동으로 Thread Pool에서 삭제한다. 공용 Thread Pool의 경우 기본값은 5분이다. (단위: ms) |
Queue size | Thread Pool이 처리하는 일(work)을 저장하는 큐의 크기를 지정한다. (기본값: 4096개) |
Stuck Thread Handling
Thread가 일정시간 이상 계속 점유된 상태일 경우 해당 Thread에 대해서 특정 액션을 하기 위한 설정이다.
항목 | 설명 |
---|---|
Max Stuck Thread Time | Thread가 점유되었다고 판단하는 기준이 되는 설정이다. 설정한 시간 이상으로 점유된 상태이면 해당 Thread를 Stuck Thread로 간주한다. (기본값: 1시간, 단위: ms) |
Action On Stuck Thread | 점유되었다고 판단된 Thread에 대한 액션을 설정한다. 공용 Thread Pool의 기본값은 IgnoreAndReplace이고 다음에 나열한 값들을 설정할 수 있다.
|
Stuck Thread Check Period | Thread가 Stuck 상태가 되었는지 체크하는 주기를 설정한다. (기본값: 5분, 단위: ms) |
설정 정보를 적용하기 위해서 [Activate Changes] 버튼을 클릭한다. 화면 상단에 설정 변경 결과 메시지가 출력되고, 서버의 System Thread Pool 설정이 변경되었음을 확인할 수 있다.
다음은 콘솔 툴로 공용 Thread Pool을 조회하고 변경하는 예제이다.
예제에서 사용한 명령들에 대한 자세한 설명은 “JEUS Reference Book”의 “4.2.5. Thread Management 관련 명령어”를 참고한다. 서비스들에서 사용하는 Thread Pool에 대한 설정은 각 서비스의 매뉴얼을 참고한다.
다음은 Thread Pool의 max를 100에서 200으로 변경하고 keep alive time을 5분에서 10분으로 변경하는 예제이다.
[DAS]domain1.adminServer>show-system-thread-pool server1 Shows the current configuration. the system thread pool of the server (server1) ================================================================================ +---------------------------------------------------------+--------------------+ | Min | 0 | | Max | 100 | | Keep-Alive Time | 300000 | | Queue Size | 4096 | | Max Stuck Thread Time | 3600000 | | Action On Stuck Thread | IGNORE_AND_REPLACE | | Stuck Thread Check Period | 300000 | | Reserved Threads for the Service transaction | 0 | | Reserved Threads for the Service namingserver | 0 | +---------------------------------------------------------+--------------------+ ================================================================================ [DAS]domain1.adminServer>modify-system-thread-pool server1 -max 200 -keep 600000 Successfully performed the MODIFY operation for the system thread pool of the server (server1). Check the results using "modify-system-thread-pool server1 or show-system-thread-pool server1". [DAS]domain1.adminServer>show-system-thread-pool server1 Shows the current configuration. the system thread pool of the server (server1) ================================================================================ +---------------------------------------------------------+--------------------+ | Min | 0 | | Max | 200 | | Keep-Alive Time | 600000 | | Queue Size | 4096 | | Max Stuck Thread Time | 3600000 | | Action On Stuck Thread | IGNORE_AND_REPLACE | | Stuck Thread Check Period | 300000 | | Reserved Threads for the Service transaction | 0 | | Reserved Threads for the Service namingserver | 0 | +---------------------------------------------------------+--------------------+ ================================================================================
다음은 JNDI 서비스에서 공용 Thread Pool에서 Thread를 미리 할당하도록 설정하는 예제이다.
[DAS]domain1.adminServer>show-system-thread-pool server1 Shows the current configuration. the system thread pool of the server (server1) ================================================================================ +---------------------------------------------------------+--------------------+ | Min | 0 | | Max | 200 | | Keep-Alive Time | 600000 | | Queue Size | 4096 | | Max Stuck Thread Time | 3600000 | | Action On Stuck Thread | IGNORE_AND_REPLACE | | Stuck Thread Check Period | 300000 | | Reserved Threads for the Service transaction | 0 | | Reserved Threads for the Service namingserver | 0 | +---------------------------------------------------------+--------------------+ ================================================================================ [DAS]domain1.adminServer>modify-system-thread-pool server1 -service namingserver -r 10 Successfully performed the MODIFY operation for The namingserver thread pool of the server (server1)., but all changes were non-dynamic. They will be applied after restarting. Check the results using "show-system-thread-pool server1 -service namingserver or modify-system-thread-pool server1 -service namingserver". [DAS]domain1.adminServer>show-system-thread-pool server1 -service namingserver Shows the current configuration. the system thread pool of the server (server1) ================================================================================ +---------------------------------------------------------+--------------------+ | Min | 0 | | Max | 200 | | Keep-Alive Time | 600000 | | Queue Size | 4096 | | Max Stuck Thread Time | 3600000 | | Action On Stuck Thread | IGNORE_AND_REPLACE | | Stuck Thread Check Period | 300000 | | Reserved Threads for the Service transaction | 0 | | Reserved Threads for the Service namingserver | 10 | +---------------------------------------------------------+--------------------+ ================================================================================ [DAS]domain1.adminServer>modify-system-thread-pool server1 -service namingserver Shows the current configuration. The namingserver thread pool of the server (server1). ================================================================================ +----------------------------------------------------------------------+-------+ | Reserved Threads for the Service namingserver | 10 | +----------------------------------------------------------------------+-------+ ================================================================================
JEUS에서는 서버의 Lifecycle에 맞게 사용자가 원하는 작업을 할 수 있도록 Lifecycle Invocation 기능을 제공하고 있다. 서버는 부팅, 다운 과정에서 각 단계에 사용자가 설정한 이벤트를 호출해준다. Lifecycle Invocation은 WebAdmin을 통해서만 설정 가능하다.
서버가 운영 중일 때 이 값을 변경하려고 하면 반영되지 않는다. 동적 설정 반영의 대상이 아니기 때문에 운영 중인 서버에 이 값을 변경한 경우에는 서버를 재기동해야 적용된다
다음은 Lifecycle Invocation에 등록하는 클래스는 일반 Java 클래스 예제이다. 이 클래스를 서버의 Lifecycle에 맞게 호출하고 싶은 대상 서버의 SERVER_HOME/lib/application에 위치시킨다.
[예 2.1] <<LifeCycleTester.java>>
package lifecycle; public class LifeCycleTester { public void boot() { System.out.println("Boot"); // do somethig } public void beforeDeploy() { System.out.println("Before Deploy"); // do somethig } public void afterDeploy() { System.out.println("After Deploy"); // do somethig } public void ready() { System.out.println("Ready"); // do somethig try { System.out.println("Sleeping for 15 seconds ...."); Thread.sleep(15000L); } catch (Exception e) { //ignored } } public void beforeUndeploy() { System.out.println("Before Undeploy"); // do somethig } public void afterUndeploy() { System.out.println("After Undeploy"); // do somethig } }
다음은 위의 예제를 이용해서 WebAdmin을 통해 서버의 Lifecycle Invocation 클래스로 설정하는 과정에 대한 설명이다.
WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 화면으로 이동한다. 서버 목록 화면에서 서버(adminServer)를 선택하면 서버 설정화면으로 이동한다. 설정화면에서 [Resource] 탭을 선택하고 [Lifecycle Invocation] 메뉴를 선택하면, 현재 설정된 Lifecycle Invocation 정보를 조회하는 화면으로 이동한다.
왼쪽 메뉴의 하단에 위치한 [LOCK & EDIT] 버튼을 클릭해서 Lock을 가져온 뒤, Lifecycle Invocation을 추가하기 위해 테이블 상단의 [ADD] 버튼을 클릭한다.
Lifecycle Invocation 클래스와 Lifecycle Invocation 타입에 맞게 수행할 메소드를 추가한다. Lifecycle Invocation 클래스를 'test.lifecycle.invocation.LifeCycleInvocation'으로 설정하고 boot 메소드가 BOOT 시점에 호출되도록 지정한 후 [확인] 버튼을 클릭한다.
다음은 Invocation 설정 항목에 대한 설명이다.
항목 | 설명 |
---|---|
Invocation Type | 메소드가 호출되는 시점을 지정한다.
|
Invocation Argument | 메소드를 호출할 때 사용하는 argument를 지정한다. |
Method Name | Invocation에 사용될 메소드를 지정한다. |
Method Param | Invocation 사용될 메소드의 파라미터를 지정한다. |
Lifecycle Invocation 목록에 추가한 Lifecycle Invocation 클래스가 조회된다. Lifecycle Invocation 클래스에서 사용할 라이브러리를 설정한다. Lifecycle Invocation 타입에 맞게 수행할 메소드를 추가하기 위해 Library Ref 목록의 [ADD] 버튼을 클릭한다.
클래스에서 참조하는 라이브러리에 대한 레퍼런스 설정이다. 여기에 설정한 라이브러리는 lib/shared에 있어야 한다. Shared Library에 대한 자세한 설명은 “JEUS Applications & Deployment 안내서”의 “3.3.2. 공유 라이브러리(Shared Library)”를 참고한다.
항목 | 설명 |
---|---|
Library Name | 사용할 라이브러리 이름을 지정한다. |
Specification Version | 설정한 라이브러의 스펙 버전을 지정한다. |
Implementation Version | 설정한 라이브러의 구현 버전을 지정한다. |
다음은 추가한 라이브러리를 [확인] 버튼을 클릭해서 저장했을 때 조회되는 화면이다.
메소드가 호출되는 시점에 따라 Lifecycle Invocation 메소드를 추가로 설정한다.
Lifecycle Invocation 설정 변경을 완료하면 [Activate Changes] 버튼을 클릭하여 변경한 설정을 서버에 반영한다. 화면 상단에 Lifecycle Invocation 설정 변경 결과 메시지가 출력되고, 서버의 Lifecycle Invocation 설정이 변경된 것을 확인할 수 있다.
운영 중인 서버의 Lifecycle Invocation 설정을 변경한 경우 위와 같이 설정 변경은 성공했으나 변경한 Lifecycle Invocation 설정을 서버에 적용할 수 없다는 메시지를 확인할 수 있다. 이 경우 변경한 Lifecycle Invocation 설정을 적용하고 싶다면 서버를 재기동해야 한다.
서버의 애플리케이션에서 공통으로 사용할 리소스에 대한 매핑 정보를 설정한다.
애플리케이션에서 사용하는 리소스는 해당 애플리케이션이 서비스되는 서버의 JNDI 저장소에 이름이 등록된다. 리소스 매핑을 설정하면 등록되는 이름에 상관없이 애플리케이션에서는 항상 같은 이름의 리소스를 Lookup해서 사용할 수 있다.
서버가 클러스터에 포함되어 있는 경우에는 Resource Reference 설정은 클러스터에 설정된 값이 우선 적용된다.
다음은 WebAdmin에서 Resource Reference를 설정하는 과정에 대한 설명이다.
WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다.
서버 목록에서 서버를 선택하면 서버 설정화면으로 이동한다. 설정화면에서 [Basic] 탭을 선택하고 [Res Ref] 메뉴를 선택하면 Res Ref 화면으로 이동한다.
Resource Reference 설정을 변경하려면 설정 변경을 위한 Lock을 가져오는 작업이 선행되어야 한다. Lock을 설정하기 전에는 현재 설정된 Resource Reference의 정보를 확인할 수 있다. 설정을 변경하려면 왼쪽 메뉴의 하단에 위치한 [LOCK & EDIT] 버튼을 클릭해서 Lock을 가져온다. Lock을 가져온 후에는 Resource Reference 설정을 변경할 수 있는 화면으로 변경된다.
Resource Reference를 추가하기 위해 Resource Reference 목록의 [ADD] 버튼을 클릭한다.
리소스를 매핑할 'Ref Name'과 실제 리소스가 바인딩된 'Export Name'을 설정하고 [확인] 버튼을 클릭한다.
항목 | 설명 |
---|---|
Ref Name | 리소스를 매핑하는 레퍼런스 이름을 설정한다. 여기에 설정한 이름이 애플리케이션에서 Lookup할 때 사용될 이름이다. |
Export Name | 실제 리소스가 서버에 바인딩되어 있는 이름을 지정한다. 실제 리소스가 서버의 JNDI 저장소에 등록된 JNDI 이름이다. |
다음은 [확인] 버튼을 클릭해서 저장했을 때 보여지는 화면이다. 설정이 완료되면 다음과 같이 신규 리소스 매핑 정보가 목록에 추가된다.
[Activate Chages] 버튼을 클릭하여 변경한 설정을 서버에 반영한다.
다음은 리소스 매핑 설정 변경의 결과이다.
화면 상단에 설정 변경 결과 메시지가 출력되고, 서버의 리소스 매핑 설정이 변경되었음을 확인할 수 있다. 운영 중인 서버의 리소스 매핑 설정을 변경한 경우 위와 같이 설정 변경은 성공하였으나 변경한 리소스 매핑 설정을 서버에 적용할 수 없다는 메시지를 확인할 수 있다. 이 경우 변경한 리소스 매핑 설정을 적용하고 싶다면 서버를 재기동해야 한다.
클러스터를 생성할 때에 사용할 서버들의 공통적인 설정들을 서버 템플릿으로 저장해 둘 수 있다. 이를 이용하여 클러스터 생성시에 공통 설정을 가지는 다수의 서버를 자동으로 생성할 수 있어서 간단하게 서버 클러스터 환경을 구성할 수 있다.
서버 템플릿의 설정 방법은 기본적으로는 서버의 설정 방법과 동일하며 클러스터를 생성할 때에 Dynamic Servers를 선택하여 해당 템플릿을 지정하는 것으로, 같은 설정의 다수의 서버를 생성하게 된다. 서버의 설정과 다른점은 Listener나 Connection 같은 일부 설정은 미리 설정되어 있어서 수정이 불가능 하다는 점, 그리고 포트 번호와같이 서버별로 설정이 달라야하는 경우에는 특정한 규칙에 따라 서버별로 다른 번호를 부여받는다는 점이다.
서버 템플릿의 설정은 WebAdmin 혹은 콘솔에서 추가할 수 있다.
WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택한 후 아래의 Server Templates 영역을 통해서 서버 템플릿을 추가할 수 있다.
서버 템플릿의 추가는 많은 부분이 서버 추가와 동일하다. 서버 추가와는 달리 실제 서버가 생성되지 않고, 서버 설정을 담은 서버 템플릿만이 추가가 된다. 이를 이용하여 차후에 서버 클러스터 환경을 구성할 때에 동일한 설정을 가진 서버들을 일괄 생성할 수 있다.
기본적인 설정은 위에서 설명한 서버를 생성할 때 설정과 동일하다. 서버 템플릿을 이용한 클러스터 설정에 대해서는 “JEUS Domain 안내서”의 “5.5.3. Dynamic Servers를 이용한 클러스터 설정”을 참고한다.
콘솔 툴을 이용하여 서버 템플릿을 추가할 수 있다. add-server-template 명령을 통해 서버 템플릿을 추가하고, 각종 옵션을 주어 세부 항목을 설정한다. add-server-template에 대한 자세한 설명은 “JEUS Reference Book”의 “4.2.4.9. add-server-template”을 참고한다.
[DAS]domain1.adminServer>add-server-template template1 -m true Successfully performed the ADD operation for server template (template1), but all changes were non-dynamic. They will be applied after restarting. Check the results using "list-servers or show-server-template or add-server-template". [DAS]domain1.adminServer>show-server-template Shows the current configuration. Server template list ============================================================= +-----------------------------------------------+-----------+ | server templates | template1 | +-----------------------------------------------+-----------+ =============================================================