본 장에서는 JEUS 8.5 릴리즈에서 추가된 새로운 기능에 대해 간략히 설명한다.
JEUS 8.5에서는 Jakarta EE 8의 주요 기능을 완벽히 지원함으로써, 개발 생산성을 획기적으로 향상 시켰다. 또한 Jakarta EE 8에서 향상된 여러 기술을 사용하여, 보다 안정적인 환경을 제공한다.
JEUS는 최신 버전 JEUS 8.5로 발전하면서 많은 신기술과 새로운 스펙이 적용되었다.
다음은 JEUS 6에서부터 JEUS 8.5에 이르기까지의 적용되는 J2EE 스펙을 간단하게 보여준다. 스펙의 내용에 따른 변경 사항에 대해서는 각각의 명시된 스펙을 참고한다.
Spec | JEUS 6 | JEUS 7 | JEUS 8 | JEUS 8 .5 |
---|---|---|---|---|
J2EE | Java EE 5 | Java EE 6 | Java EE 7 | Jakarta EE 8 |
WebServer | WebtoB 4.1 | WebtoB 4.1 | WebtoB 5.0 | WebtoB 5.0 |
HTTP | 1.0/1.1 | 1.0/1.1 | 1.0/1.1/2.0 | 1.0/1.1/2.0 |
CGI | 1.1 | 1.1 | 1.1 | 1.1 |
PHP | 3.x/4.x/5.x | 3.x/4.x/5.x | 3.x/4.x/5.x | 3.x/4.x/5.x |
WebSocket | - | - | 1.0 | 1.1 |
Java API for JSON Processing | - | - | 지원 | 1.1 |
Batch Applications for the Java Platform | - | - | 지원 | 1.0 |
Concurrency Utilities for Java EE | - | - | 1.0 | 1.1 |
EJB | 2.x/3.0 | 3.1 | 3.2 | 3.2 |
RMI-IIOP | 지원 | 지원 | 지원 | 지원 |
JAF | 1.0.2 | 1.1 | 1.1 | 1.1 |
EJB to CORBA Mapping | 1.1 | 1.1 | 1.1 | 1.1 |
JCA | 1.5 | 1.6 | 1.7 | 1.7 |
JMS | 1.1 | 1.1 | 2.0 | 2.0 |
Common Annotations for the Java Platform | 1.0 | 1.1 | 1.2 | 1.3 |
JPA | 1.0 | 2.0 | 2.1 | 2.2 |
JavaMail API | 1.4 | 1.4 | 1.5 | 1.6 |
JTA | 1.1 | 1.1 | 1.2 | 1.3 |
JTS | 1.0 | 1.0 | 1.0 | 1.0 |
JNDI | 1.2.1 | 1.2.1 | 1.2.1 | 1.2.1 |
CDI | - | 1.0 | 1.1 | 2.0 |
Bean Validation | - | 1.0 | 1.1 | 2.0 |
Managed Beans | - | 1.0 | 1.0 | 1.0 |
Interceptors | - | 1.1 | 1.2 | 1.2 |
JSP | 2.1 | 2.2 | 2.3 | 2.3 |
Servlet | 2.5 | 3.0 | 3.1 | 4.0 |
JSF | 1.2 | 2.0 | 2.2 | 2.3 |
JSTL | 1.2 | 1.2 | 1.2 | 1.2 |
XSLT | 1.0 | 1.0 | 1.0 | 1.0 |
JDBC | 3.0 | 4.0 | 4.0 | 4.2 |
IBM MQ | 지원 | 지원 | 지원 | 지원 |
Sonic MQ | 지원 | 지원 | 지원 | 지원 |
J2EE Management | 1.1 | 1.1 | 1.1 | 1.1 |
J2EE Deployment API | 1.2 | 1.2 | 1.2 | 1.7 |
JAAS | 1.0.1 | 1.0.1 | 1.0.1 | 1.0.1 |
JACC | 1.1 | 1.3 | 1.5 | 1.5 |
JASPIC | - | 1.0 | 1.1 | 1.1 |
JAXP | 1.3 | (JavaSE 6에 포함) | (JavaSE 7에 포함) | (JDK 8에 포함되어 제공) |
StAX | 1.0 | (JavaSE 6에 포함) | (JavaSE 7에 포함) | (JDK 8에 포함되어 제공) |
JAXB | 2.1 | 2.2 | 2.2 | 2.2 |
SAAJ | 1.3 | 1.3 | 1.3 | 1.3 |
Implementing Enterprise Web Services | 1.2 | 1.3 | 1.3 | 1.3 |
Web Service Metadata | 2.0 | 2.1 | 2.1 | 2.1 |
JAX-RPC | 1.1 | 1.1 | 1.1 | 1.1 |
JAX-WS | 2.1 | 2.2 | 2.2 | 2.3 |
JAX-RS | - | 1.1 | 2.1 | 2.1 |
JAXR | 1.0 | 1.0 | 1.0 | 1.0 |
UDDI | 2.0/3.0 | 2.0/3.0 | 2.0/3.0 | 2.0/3.0 |
SOAP | 1.2 | 1.1/1.2 | 1.1/1.2 | 1.1/1.2 |
WSDL | 1.1 | 1.1 | 1.1 | 1.1/2.0 |
WS-I Basic Profile | 1.1 | 1.1 | 1.1 | 1.1 |
WS-Policy | 1.0 | 1.0 | 1.5 | 1.5 |
WS-Policy Attachment | 1.0 | 1.0 | 1.5 | 1.5 |
WS-Addressing | - | 1.0 | 1.0 | 1.0 |
WS-Security | 1.0/1.1 | 1.1 | 1.1 | 1.1 |
WS-Security Policy | 1.2 | 1.2 | 1.2 | 1.2 |
WS-Trust | 1.3 | 1.3 | 1.4 | 1.4 |
WS-Secure Conversation | 1.3 | 1.3 | 1.4 | 1.4 |
WS-Reliable Messaging | 1.0 | 1.1 | 1.2 | 1.2 |
WS-AtomicTransaction | - | 1.0 | 1.2 | 1.2 |
WS-Coordination | - | 1.0 | 1.2 | 1.2 |
OTS | 지원 | 지원 | 지원 | 지원 |
Java IDL API | 지원 | 지원 | 지원 | 지원 |
IDE Tool | 지원 | 미지원 | 미지원 | 미지원 |
GUI Tool | 미지원 | 미지원 | 미지원 | 미지원 |
Web Tool | WebAdmin | WebAdmin | WebAdmin | WebAdmin |
Monitoring Tool | Console Tool, WebAdmin | Console Tool, WebAdmin | Console Tool, WebAdmin | Console Tool, WebAdmin |
JDK | 5 / 6 | 6 (인증) | 7 (인증) | 8 (인증) |
CDI를 비 활성화할 수 있는 기능 제공
애플리케이션이 CDI를 사용하지 않더라도, 포함하고 있는 오픈소스 라이브러리 등에 beans.xml이 포함되어 있거나 하는 이유로 CDI가 동작 하는 경우가 있어 사용하지 않도록 하는 기능이 추가 되었다.
JEUS에서 Cloud를 사용하기 위한 기능 추가
JEUS_HOME/lib/csp에서 aws, ncloud, kube등 provider 파일들을 사용할 수 있도록 제공
쿠버네티스 환경에서 DNS Query 방식을 이용하여 멤버 주소를 반환하는 기능 추가
NIO Selector sharing 기능 추가
NIO Selector를 전체가 공유하는 방식과 Base Listener를 제외한 나머지가 공유하는 방식을 제공하는 기능이 추가되었다.
Batch Threadpool 상태 모니터링 기능 추가
thread-info 명령어를 통해 batch thread를 모니터링 할 수 있도록 기능을 제공한다.
데이터소스 connection pool 초기화 중 에러가 발생해도 connection pool 초기화 작업을 완료하는 옵션 제공
데이터소스 connection pool 초기화 중 JDBC connection 생성 단계에서 에러가 발생해도 connection pool 초기화 작업을 완료하는 옵션 기능 제공한다.
jeus.jdbc.connection-pool.keep-initialization-on-connection-error 프로퍼티를 설정한다.
서버 기동 시 JDBC connection pool을 초기화하는 옵션 제공
서버 기동 시 connection pool을 초기화할 수 있도록 하는 옵션을 제공한다.
jeus.jdbc.connection-pool.initialization-on-boot 프로퍼티를 설정한다.
jeusadmin에서 add-data-source 명령어에 algorithm 옵션을 추가
add-data-source 명령어에 algorithm 옵션이 추가되었다.
JEUS Store Postgre EnterpriseDB 추가 지원
JEUS Store를 설정하는 경우 EnterpriseDB를 추가 지원하도록 한다.
jeusadmin [JMS] 항목 명령어 추가
Durable Subscription에 대한 추가, 조회, 제거 명령을 추가 지원하도록 한다.
JMS Clustering 구조 확장
기존 DurableSubscription에 한정하여 clustering이 동작하던 구조에서 Shared / Durable / SharedDurable subscription도 추가적으로 clustering 동작이 되도록 지원한다.
Topic message multicast 기능 추가
Topic message를 UDP multicast를 이용하여 publish 하는 기능을 지원한다.
Log 파일의 posix permission 설정시 Domain 일괄 적용 기능 추가
Domain내 모든 log 파일에 posix permission을 적용하는 기능을 추가한다.
기존 Logger의 file-handler와 함께 설정할 경우 file-handler 설정이 우선된다.
Log 파일의 posix owner 설정시 Domain 일괄 적용 기능 추가
Domain내 모든 log 파일에 posix owner를 적용하는 기능을 추가한다.
기존 Logger의 file-handler와 함께 설정할 경우 file-handler 설정이 우선된다.
타 서버와 통신하는 방식 transport 설정 추가
도메인 설정 변경시 transport설정으로 DUMMY, HYBRID, MESH, TREE를 선택할 수 있는 기능이 추가되었다.
role, resource command 추가
role과 resource를 jeusadmin tool을 이용하여 생성 및 삭제를 할 수 있는 명령어 기능이 추가되었다.
Servlet 4.0 스펙 지원
Servlet 4.0 스펙의 기능을 지원한다.
Websocket client 지원 기능 추가
Client authentication 기능을 제공한다.
Websocket client 정보를 jeus.websocket으로 시작하는 user property로 제공한다.
JEUS valve 기능 추가
Tomcat valve 기능과 유사하게 서버와 가상호스트 단위로 filter를 적용하는 기능을 제공한다.
URL rewrite 기능 옵션을 제공한다.
jeus.servlet.valve.rewrite.RewriteValve
모든 http 응답을 chunked로 나가게 하는 옵션 추가
Weblogic 윈백 및 JEUS 7 fix 3 이하 버전에서 업그레이드 하는 경우를 고려한 옵션을 제공한다.
jeus.servlet.response.forceChunkedResponse 프로퍼티를 true로 설정한다.
WJP websocket 지원
이전 버전(JEUS 8 fix # 1)까지 reverse proxy 연결을 통해 가능했던 방식에서 WebtoB - JEUS 간 reverse connection을 통한 websocket 통신을 지원한다.
add-webtob-connector, modify-webtob-connector 명령어에 hth 옵션 추가
add-webtob-connector, modify-webtob-connector 명령어에 hth count 를 주는 옵션이 추가되었다.
사용자가 지정한 classpath를 추가/삭제하는 기능 제공
jeus-web-dd.xml에 property를 설정하여 사용자가 지정한 classpath를 추가, 삭제하는 기능을 제공한다.
jeus-web-dd.xml에 superclass를 지정할 수 있도록 기능 추가
jeus-web-dd.xml에 property 설정하여 superclass를 지정할 수 있도록 기능을 추가하였다.
AccessLog permission 기능 추가
access-log 하위의 file-handler에서 log 파일의 접근 권한을 설정할 수 있는 permission 옵션을 제공한다.
http method 제한 옵션 제공
Valve Class name에 jeus.servlet.valve.MethodConstraintValve로 설정한다.
http method를 서버 단위에서 제한할 수 있도록 옵션을 제공한다.
Valve Class name | key | value |
---|---|---|
jeus.servlet.valve.MethodConstraintValve | deny or allow | GET, POST 등 |
Set-cookie 헤더에 SameSite 속성 추가
Set-cookie 헤더에 SameSite 속성이 추가되었다.
JSP Compiler에 Eclipse Compiler 추가
JSP Compiler에 Eclipse Compiler가 추가되었다.
AccessLog permission 기능 추가
access-log 하위의 file-handler에서 log 파일의 접근 권한을 설정할 수 있는 permission 옵션을 제공한다.
Sticky encoding의 encoding rule 기능 개선
session sticky의 padding이 출력되지 않도록 encoding-rule 항목의 BASE64_WITHOUT_PADDING 옵션이 추가 되었다.
Session Server의 backup table을 jeusadmin tool을 이용해서도 볼 수 있는 기능 추가
jeusadmin tool을 통해서 session server의 backup table을 조회할 수 있는 기능이 추가 되었다.
list-session command의 기능 추가
timeout이 지난 session을 -inactive 옵션으로 조회할 수 있는 기능이 추가 되었다.
특정 session만을 session id로 -i 옵션을 통해 검색하여 조회할 수 있는 기능이 추가 되었다.
외부세션 서버 REDIS와 HAZELCAST를 설정 및 사용할 수 있는 기능 추가
Session Cluster의 Session Manager Provider 항목에서 Provider 설정을 REDIS 및 HAZELCAST로 설정할 수 있도록 추가하였다.
Session Cluster의 properties항목에 REDIS와 HAZELCAST의 노드 정보 등을 입력하여 JEUS에서 외부 세션 저장소와 연동할 수 있는 기능이 추가 되었다.
stopServer명령 시 server 이름을 인자로 받아서 처리할 수 있는 기능 추가
stopServer 스크립트에서 특정 MS를 지정하여 종료할 수 있도록 -server 옵션이 추가 되었다.
TransactionManager의 suspend와 resume api를 스펙에 맞게 제공
TransactionManager의 suspend와 resume api를 사용할 수 있도록 기능을 제공한다.
webengine 하위에 [pipeline] 탭 추가
webengine 하위에 [piepeline] 탭을 추가하여 WebAdmin내에서 valve 설정할 수 있는 기능이 추가 되었다.
Exclude Domain Admin Server When Targeting All Servers 설정 추가
애플리케이션을 모든 서버를 대상으로 배포할 때 Domain Admin Server에 배포할지 여부를 물어보는 기능이 추가 되었다.
사용중인 라이선스 종료 및 만료일자 표기
demo, term, cloud 라이선스를 사용하는 경우 WebAdmin 상단 바에 라이선스 만료일자를 표기한다.
osgi-framework 설정 탭 추가
WebAdmin resource 하위에 osgi-framework 설정 탭을 추가한다.
본 절에서는 JEUS의 모듈별 설정의 변경 사항을 정리한다.
start-application, stop-application의 application-id 옵션에 대한 설명 보완
start-application, stop-application 명령의 application-id 옵션 설명을 좀더 명확하게 수정한다.
JEUS RMI 모듈 제거
JEUS RMI 모듈을 제거하였다.
corba library update
iiop로 EJB call 부하테스트시 성능저하 발생하여 corba library를 3.1.2_b001에서 4.1.1_b001로 변경하였다.
DurableSubscriber -> DurableSubscription 용어 변경
DurableSubscriber를 DurableSubscription로 용어가 변경되었다.
도메인 설정 변경시 Use Virtual Multicast 기능 제거
타 서버와 통신하는 방식인 transport 설정 기능이 추가되어 Use Virtual Multicast 기능이 제거되었다.
SCF Leader 선출과 관련하여 동작 순서를 변경
SCF 연결이 되기전에 Leader 찾으면서 제대로 Grouping이 되지 않는 문제가 있었다. SCF 연결을 먼저 맺은 다음 Leader 선출 후 Leader Query를 Broadcast 하는 방식으로 변경되었다.
role과 resource에 대해 할당된 Permission과 할당되지 않은 Permission으로 나누어 관리하도록 변경
jeusadmin 접속 후 show-policy의 명령어로 상태 조회 시, 할당 된 Permission과 할당되지 않은 Permission으로 나누어 관리하도록 변경한다.
role과 resource에 대한 (un)assign command 동작을 수정
role과 resource에 대한 유효성 검사를 하고, command의 이름을 수정하여 의미를 확실하게 하도록 변경한다.
SIGAR 라이브러리 제거
SIGAR 라이브러리를 제거하고, SystemInfoProvider는 JVM에서 제공하는 정보만 제공하도록 변경한다.
JDK 버전에 따른 endorsed lib 변경
JDK9부터 -Djava.endorsed.dirs 옵션이 제공되지 않아 JDK 버전에 따라 endorsed lib를 재배치한다.
Trial License로 CloudServer 기동시 License Information 변경
Trial License로 CloudServer 기동 후, system info 명령시 License Information이 Trial License로 표기되도록 변경한다.
DAS가 MS의 Join을 감지하는 경우 서버 정보에 재동기화 요청하도록 변경
DAS에서 MS Join을 감지하는 경우 MS에게 서버 정보에 대한 재동기화를 요청하도록 변경한다.
MS가 정상 기동된 상태에서 비정상 종료 직후 STANDBY로 재기동 되었을때 서버 상태 반영되도록 변경
서버가 SCF Join 될 때 서버 시작 시간이 기존 서버의 시작 시간과 다른 경우 서버 상태를 UNKNOWN으로 변경한 뒤 서버의 상태를 가져오도록 변경한다.
stop-server command에서 -f 및 -to옵션 변경
기존에 -f, --force 옵션으로 강제종료를 설정 하여도 강제 종료를 하지 않고 서버 자원 정리 과정을 전부 거쳐 실제 강제종료가 될 수 있도록 변경한다.
-to 옵션으로 timeout 시간 설정시, 사용자가 음수나 0을 입력할 수 있어 옵션 값을 1이상의 숫자만 입력할 수 있도록 변경한다.
jeusadmin -licenseinfo 명령시 출력 내용 수정
license due, client limit을 추가하여 license info를 출력하도록 변경한다.
fake webadmin 제거
webadmin이 deploy 되기 전 사용하였던 fake webadmin을 제거하고 WaitingPage를 제공하도록 변경하였다.
session 설정 우선순위를 변경
session 설정 우선순위를 webcommon.xml -> domain.xml -> jeus-web-dd.xml -> web.xml 순으로 변경하였다.
사용자에게 thread id가 노출되지 않도록 삭제
사용자에게 보여지는 page에 thread id가 노출되지 않도록 삭제하였다.
ReverseProxy 기능 제거
JEUS 8 fix #1 버전까지 제공되었던 reverse proxy 기능을 해당 버전부터 지원하지 않는다.
Response의 compression 기능 제거
JEUS 8 fix #1 버전까지 제공되었던 http 및 webtob response의 compression 기능을 해당 버전부터 지원하지 않는다.
Handover 기능 제거
Handover 방식은 다수의 server가 Down / Join하는 경우에 session 유실을 방지하기 어려워 원활한 서비스를 제공하기가 불가능하여 제거 하였다.
Prevent-migration 옵션 설정 항목 제거
JEUS8 Fix#1에서 true 및 false로 설정하여 세션에 대한 접근이 Rerouting 및 update방식에서 해당 옵션을 선택할 수 있는 항목을 제거하고 default=true인 상태로 세션을 copy/update 하는 방식으로 Session manager를 통합하여 JEUS8 Fix#5 에 반영하였다.
Session을 serialization 하는 작업을 변경
Session을 backup하기 위해서 Serialization을 한다. 기존에 backup thread에서 하던 작업을 worker thread에서 하도록 변경하였다.
Backup과 관련된 로그를 세션 하위 Logger로 변경
세션 하위 Logger인 jeus.session.distributed로 변경하여 Backup과 관련된 로그를 줄일 수 있도록 변경하였다.
서버가 Starting 상태일 때도 serverinfo 명령어로 pid를 확인 가능하도록 수정
기존에 서버가 starting 상태일 때 serverinfo 명령어 실행 시 서버의 pid가 출력되지 않았으나 admin및 WebAdmin에서 Starting 상태에서도 서버의 pid를 손쉽게 확인 가능하도록 한다.
클러스터 추가시 앱이 있는 서버에 대한 안내 문구 변경
클러스터에 서버를 추가할 때 해당 서버에 앱이 deploy 된 경우 undeploy 안내 문구가 적합하지 않아 수정 및 개선한다.
pack-domain 명령 중 dir-path 옵션을 -f에서 -p로 변경
pack-domain 명령에서 -f로 제공되던 dir-path 옵션을 -p로 변경 한다.
로컬 트랜잭션에 대해서도 DataSource Affinity 기능 제공
XA Emulation을 설정한 로컬 트랜잭션에 대해서도 DataSource Affinity 기능을 제공한다.
본 절에서는 JEUS의 모듈별 버그 수정된 내용을 정리한다.
JEUS 8 Fix#1 2021.08 기준 통합패치 반영 (단, 기존 통합패치 반영 대상 기능 중 사이트성 혹은 기타 사유로 인하여 반영되지 않은 경우도 있음)
Window에서 app deploy 시 StringIndexOutOfBoundsException 발생하는 버그 수정
app의 lib가 .jar 폴더 안에 .jar 폴더 안에 .jar 폴더(3개의 계층으로) 가 존재하면 타는 로직에 대한 버그가 있어 수정하였다.
WEB-INF/lib에 특정 디렉토리 있을 경우 ClassCastException 발생 버그 수정
WEB-INF/lib 안에 “jar”,”war”,”zip” 으로 끝나는 디렉토리가 존재 하고, jeus.servlet.sortWebinfLibraries 프로퍼티 값을 time_asc 또는 time_dcs를 사용 할때 오류가 발생하여 수정하였다.
Webadmin상에서 app install 시 결과 메시지 수정
Webadmin상에서 app install 시 파일 경로가 출력되는 현상이 있어 수정하였다.
INSTALLED 상태인 APP을 stop시킬 때 오류 메시지 수정
INSTALLED 상태인 APP에 대해 stop-application 명령어를 수행할 경우 아무런 결과 값이 반환 되지 않는 현상이 있어 수정하였다.
datasource 설정 중 pool-destroy-timeout 옵션이 동작하지 않는 버그 수정
datasource 설정 중 pool-destroy-timeout 옵션이 동작하지 않는 버그를 수정하였다.
store에서 복구된 Topic 메시지가 COMPLETED 상태가 될때 존재하지 않는 MessageStatus를 삭제하려다 NPE 나는 현상 수정
Topic 메시지가 복구된 상태에서 Consumer가 없는 경우 메시지 상태는 존재하지 않아 null이 되어, 메시지 상태를 함께 지우려다 NPE 발생하는 문제를 수정하였다.
SCF Transport Type에 따라 필요한 Validation을 하지 않는 문제 수정
Transport Type이 MESH인 경우 모든 서버의 listen-address를 명시하도록 수정하였다.
add-server 명령시 address를 주지않으면 환경에 따라 NPE 발생 문제 수정
add-server 명령시 address를 명시하지 않았을 경우 SCF에 동적으로 추가하는 부분에서 NodeInfo에 null이 넘어가는 경우를 보완하여 수정하였다.
MS 기동 중 DAS 재기동시 MS의 state가 RUNNING으로 변경되지 않는 버그 수정
MS 기동 중 DAS 재기동시 MS의 state가 RUNNING으로 변경되지 않는 버그를 수정하였다.
애플리케이션이 배포된 서버를 클러스터에 추가시 애플리케이션 정보가 꼬이는 버그 수정
클러스터에 추가하려는 서버에 앱이 배포된 경우 추가할 수 없도록 수정하였다.
disable-engines 명령시 server-info에 반영 되지 않는 버그 수정
disable-engines 명령 후, 서버 재기동하여 server-info 명령시 engine 비활성화되도록 수정하였다.
jeusadmin의 Configuration Editing 명령으로 ServerType 설정 변경시 두 번 변경되는 버그 수정
jeusadmin의 Configuration Editing 명령으로 ServerType 설정 변경시 결과가 한 번 출력되도록 수정하였다.
getResources()에 대해 webinf-first 설정이 동작하지 않는 문제 수정
webinf-first 설정을 하더라도 RootClassLoader를 로드하는 문제가 있어 webinf-first 설정시 애플리케이션 클래스로더에 있는 리소스만 로드할 수 있도록 하는 옵션(Djeus.classloader.allow-parent-resources)을 추가하여 의도치 않은 리소스가 로드되지 않도록 수정하였다.
delete-domain 명령 시 실행중인 도메인 디렉터리가 삭제 되는 버그 수정
delete-domain 명령 시 실행중인 도메인이 삭제되는 버그가 있어 이를 수정하며, delete-domain 명령 시 삭제 여부를 묻는 과정을 추가 한다.
start-configuration-editing 명령 시 개별 deploy된 app이 있는 서버들을 cluster로 묶을 수 있는 버그 수정
start-configuration-editing 기능을 이용할 때 개별 deploy된 app이 있는 서버들을 cluster로 묶을 수 있는 버그를 수정하였다.
jeusadmin -licensedue 입력 시 java.lang.NullPointerException 발생 버그 수정
jeusadmin -licensedue를 입력할 때 java.lang.NullPointerException 발생하는 버그를 수정하였다.