반응형
JEUS9는 2024년 10월 17에 릴리즈 된 제품으로 티맥스소프트 JEUS 최신 버전이다.
현재 Linux, AIX OS에서만 설치가 가능한 상태이다. 다른 OS는 추후 제공 예정이라고 한다.
주요 특징은 JDK8, 11, 17 버전에서 사용 가능하며, JAKARTA EE 9 인증을 받았다.
Servlet 5.0 지원 Websoket 2.0 까지 지원되니 개발 및 제품 설치시 JDK 와 Servlet 버전을 꼭 확인하도록 한다.
JEUS 기본 설치시 Trial License (5 User 제한) 가 들어가므로 데모 혹은 정식라이선스 계약을 통해 변경하도록 하자.
JEUS9 신규기능, 변경기능 확인 사이트
https://www.tmaxsoft.com/kr/download/middleware/JEUS/release-note?seq=488
로그인 | 티맥스소프트
티맥스소프트 웹사이트 회원이 되시면 웹사이트의 다양한 서비스를 경험할 수 있습니다.
www.tmaxsoft.com
신규 기능 Server app deploy 실패 시 서버를 종료하는 옵션 추가 jeus.server.boot.all-apps-running 프로퍼티를 true로 설정한다. JNDI Port를 다른 Listener로 지정할 수 있도록 옵션 추가 jeus.jndi.port 옵션을 추가하여 별도의 Listener port에 JNDI port를 가질 수 있도록 한다. Servlet 압축 기능 추가 content-length 기반의 response일 경우 압축 여부를 결정하는 min size 옵션 추가한다. ACCESS-LOG 내 압축률에 관한 %z 옵션 추가 http 압축 기능 사용 시 압축률을 표시할 수 있도록 옵션을 추가하였으며 압축률을 'default’로 표시한다. partitioned cookie 지원 Partitioned Cookie 지원을 위해 cookie가 secure일 때 partitioned을 추가하는 옵션을 제공한다. jeus.servlet.response.cookie.partitioned 프로퍼티를 true로 설정한다. 요청마다 ThreadLocal 지울 수 있는 기능 추가 Open Source를 사용하거나 ThreadLocal에 데이터를 저장하여 사용하는 경우 기존 데이터가 남아 문제가 발생할 수 있어 요청마다 ThreadLocal을 지울 수 있는 기능을 제공한다. clear-thread-local command를 추가하여 on, off 설정이 가능하다. (기본값: false) 내장 WebtoB에서 local-shutdown 호출 시 워커 스레드를 기다리지 않도록 하는 옵션 제공 내장 WebtoB와 연동된 MS에서 'local-shutdown' 시 -g 및 -to 옵션을 사용하면 지연 없이 종료될 수 있는 옵션을 제공한다. jeus.servlet.engine.waitForWorkerDestroy 프로퍼티를 false로 설정한다. Service Timeout 로그 추가 service timeout 발생 여부를 확인할 수 있는 로그를 추가한다. jeus-web-dd.xml과 web.xml을 외부에서 가져올 수 있도록 기능 추가 deploy command에 -jwdp와 -wp 옵션을 추가하여 외부에서 jeus-web-dd.xml과 web.xml을 가져올 수 있도록 기능을 제공한다. Request-uri에 user info가 포함되어 있어도 에러를 발생시키지 않도록 기능 추가 jeus.servlet.ignoreUserInfoInRequestURI 옵션을 제공한다. JDK compiler 실패 이유를 JEUS 로그에 출력되도록 수정 JDK에서 제공하는 로그를 JEUS 로그에 출력하여 JEUS가 인식하지 못하는 JDK compiler 실패 관련 로그를 출력하도록 기능을 제공한다. hot swap 실패 시 auto-reload 수행하지 않는 옵션 추가 jeus.servlet.loader.ignoreAutoReloadAfterHotSwapFailed, jeus.server.useHotSwapAgent 옵션을 제공한다. EJB EJB2.x에서 java global naming 지원 기존 EJB3.x에서만 지원하던 java:global 방식의 JNDI lookup을 EJB2.x에서도 지원되도록 수정하였다. Session Server JEUS 자체 중앙식 세션 서버 방식도 지원하도록 기능 추가 JEUS 세션 매니저 사용 시 분산식 또는 중앙식 세션 서버 방식을 선택하여 사용할 수 있도록 중앙식 세션 서버 방식이 추가되었다. jeusadmin 콘솔 툴로 아래와 같이 설정을 추가한다. 중앙식 세션 서버 방식 적용할 대상 스코프 추가 add-sessionstorage-scope [SCOPE_NAME] -target [TARGET_SESSION_STORAGE] -sessionType CENTRAL -clusters [CLUSTER_NAME] 중앙식 세션 서버 환경에서 사용할 prmiary, backup 서버 설정 set-jeus-central-session-server -primary [PRIMARY_SERVER] -secondary [BACKUP_SERVER] Session Storage 기본 옵션 추가 재기동 상황에서 세션 유실을 방지하기 위해 아래 두 옵션이 기본으로 추가되었다. backup-queue-size=0 backup-flowcontrol-enabled = false 세션 요청 처리를 위한 별도의 스레드 풀 제공 부하 상황에서 모든 스레드가 요청을 보내기만 할 경우 지연이 발생할 수 있으므로 요청 처리를 위한 별도의 스레드 풀을 제공한다. IO connection retry의 값을 설정할 수 있도록 기능 추가 클러스터 커넥션을 맺을 때 예외가 발생할 경우 재시도하는 횟수를 지정할 수 있도록 기능이 추가되었다. jeus.cluster.retry 옵션이 추가되었다. connection retry 사이의 시간 간격을 설정할 수 있도록 기능 추가 JEUS 프로세스 간 커넥션 시도 시 재시도할 경우 재시도 사이의 시간 간격을 설정할 수 있는 기능이 추가되었다. jeus.net.connect.interval 옵션이 추가되었다. JDBC getConnection 시 XAReousrce가 정상적으로 작동하는지 테스트하는 기능 추가 jeus.jdbc.xa-check 옵션이 추가되었다. (기본값: fasle) 변경 기능 Server 서버 기동 시 JNS Port bind 순서를 서버 기동 이후로 변경 EJB 클라이언트 사용 시 서버의 EJB가 deploy 되기 전 열리는 base port에 EJB를 호출하여 특정 로그가 다수 출력된다. 이에 따라 JNS Port bind를 서버 기동이 완료된 시점으로 변경하였다. Servlet WJP,HTTP 파싱 시 OOM이 발생될 수 있는 취약점 방어 로직 옵션명 변경 jeus.servlet.http.maxTotalHeaderSize 옵션으로 통일한다. ACCESS-LOG 스키마 변경 스키마상으로 System-Log와 동일 그룹으로 묶여 잘못된 태그가 제공된 이유로 스키마에서 <formatter-pattern>, <level>, <filter-class> 태그를 삭제하였다. JspReload 시 서비스 지연되는 문제가 있어 hashtable 우회하여 lock으로 인한 지연 현상 완화 Jsp include를 사용한 Jsp reload 시 지연할 수 있는 현상을 수정하였다. JspWrapperCount 체크해서 일정 개수만큼 유지하는 기능 삭제 jeus.servlet.loader.jspcount 옵션을 삭제하였다. Max Instance Pool Size 스키마 삭제 해당 옵션은 STM(software tr ansactional memory)을 사용하는 경우 servlet instance 개수를 설정하는 옵션이다. 스펙에서 STM이 제외되어 관련 스키마를 삭제하였다. JMS ConnectionFactory로 노출되는 주소에 hostname 사용 시 ip address로 resolve하지 않도록 변경 항상 ip address로 resolve를 한 주소가 들어가게 구성했으나 환경에 따라서 서버에서 resolve한 것과 클라이언트가 resolve한 주소가 다른 경우가 있다. hostname이 꼭 필요한 경우도 있기에 hostname도 들어갈 수 있게 수정하였다. |
https://docs.tmaxsoft.com/ko/tmaxsoft_docs/main/jeus/index_jeus_9.html 에 접속하면 메뉴얼을 확인할 수 있다.
JEUS 9에서 지원하는 기술에 대한 목록이다.
SpecJEUS 9
Jakarta EE | Jakarta EE 9 |
JakartaTM Activation | 2.0 |
JakartaTM Annotations | 2.0 |
JakartaTM Authentication | 2.0 |
JakartaTM Authorization | 2.0 |
JakartaTM Batch | 2.0 |
JakartaTM Bean Validation | 3.0 |
JakartaTM Concurrency | 2.0 |
JakartaTM Connectors | 2.0 |
JakartaTM Contexts and Dependency Injection | 3.0 |
JakartaTM Debugging Support for Other Languages | 2.0 |
JakartaTM Dependency Injections | 2.0 |
JakartaTM Enterprise Beans | 4.0 |
JakartaTM Enterprise Web Services | 2.0 |
JakartaTM Expression Language | 4.0 |
JakartaTM Faces | 3.0 |
JakartaTM Interceptors | 2.0 |
JakartaTM JSON Binding | 2.0 |
JakartaTM JSON Processing | 2.0 |
JakartaTM Mail | 2.0 |
JakartaTM Managed Beans | 2.0 |
JakartaTM Messaging | 3.0 |
JakartaTM Persistence | 3.0 |
JakartaTM RESTful Web Services | 3.0 |
JakartaTM Security | 2.0 |
JakartaTM Server Pages | 3.0 |
JakartaTM Servlet | 5.0 |
JakartaTM SOAP with Attachments | 2.0 |
JakartaTM Standard Tag Libraries | 2.0 |
JakartaTM Transactions | 2.0 |
JakartaTM WebSocket | 2.0 |
JakartaTM Web Services Metadata | 3.0 |
JakartaTM XML Binding | 3.0 |
JakartaTM XML Web Services | 3.0 |
Extensible Stylesheet Language Transformations(XSLT) | 1.0 |
Java API for XML Processing(JAXP) | 지원 |
Java Authentication and Authorization Service(JAAS) | 1.0.1 |
Java Database Connectivity(JDBC) API | 4.2 |
Java Naming and Directory Interface(JNDI) API | 1.2.1 |
Java Transaction Service(JTS) | 1.0 |
Simple Object Access Protocol(SOAP) | 1.1/1.2 |
Streaming API for XML(StAX) | 지원 |
Universal Description,Discovery Intergration(UDDI) | 2.0/3.0 |
Web Services Description Language(WSDL) | 1.1/2.0 |
WebServer | WebtoB 5.0 |
HTTP | 1.0/1.1/2.0 |
CGI | 1.1 |
PHP | 3.x/4.x/5.x |
RMI-IIOP | 지원 |
EJB to CORBA Mapping | 1.1 |
IBM MQ | 지원 |
Sonic MQ | 지원 |
WS-I Basic Profile | 1.1 |
WS-Policy | 1.5 |
WS-Policy Attachment | 1.5 |
WS-Addressing | 1.0 |
WS-Security | 1.1 |