Table of Contents
This chapter describes the new functions and the changes made to JEUS v7.0 Fix #3.
This section describes the new functions of JEUS.
Supports the WebSocket protocol
Supports the WebSocket protocol (JSR356).
WebSocket is expected to be officially adopted by Java EE 7 Servlet 3.1. However, the WebSocket protocol is waiting release.
WebSocket is not officially supported by Servlet 3.0. However, due to demand, the WebSocket protocol is supported in a beta server version.
Configures WebSocket container information required to deploy WebSocket in the jeus-web-dd.xml file, and supports related console commands in jeusadmin.
WebtoB has supported WebSocket since version 4.1 SP8 Fix#0.
Supports Java NIO SSLEngine-based SSL/TLS communication
Uses javax.net.ssl.SSLEngine to support SSL/TLS communication.
This section describes the changes made to JEUS by module.
Fixed: OOM occurs when JASPER is used
When JSP is compiled, OOM can occur because the amount of pageNodes information contained within the JASPER compiler continually increases. In JEUS, pageNodes is set to NULL to prevent OOM.
Fixed: In a session manager, shared mode and session cluster cannot be used concurrently
Conflicts occur because session cluster supports session sharing between specific applications while shared-mode=true supports session sharing for all applications.
Applications can no longer be deployed by utilizing an exception when the two settings are used concurrently.
This section describes bug patches by module.
Fixed: Port number (along with URL information) is returned when calling request.getRequestURL
Only URL information, excluding port numbers, is returned from request.getRequestURL() when the HTTP and HTTPS requests use the default ports (e.g., 80 and 443).
Fixed: Enter an infinite loop when using WJPv2
When WJPv2 is used, a message is divided into multiple submessages, such as "request + body, body, ...", and then sent. Managing the remaining data no longer causes an infinite loop.
Fixed: When the HttpSession object is used to record access logs, ClassNotFoundException occurs
If a HttpSession that includes a user class is used (with the %u or %s option) to record access logs, a session deserialization error occurs due to ClassNotFoundException.
Fixed: ClassLoader cannot find the classes under WEB-INF when accessing the session
User Class cannot be deserialized because ClassLoader cannot find classes under the WEB-INF directory when accessing a session.
Fixed: URL pattern blocking is case-sensitive
The URL pattern is now case-insensitive.
(E.g., ‘%5c’ and ‘%5C’ are considered the same value.)
Fixed: init-param is not applied when jeus.servlet.servlets.JspServlet is registered
init-param, which is configured when JspServlet is registered in web.xml, is now applied.
StartingException occurs at the deployment stage when registering two or more JspServlets in web.xml.
Fixed: Dynamic modifications to the webtob-connector connection configuration are not applied.
When using WebAdmin and console commands to dynamically modify the configuration of the webtob-connector connection, a value different from the specified value is set. This bug is fixed.
Fixed: EJB ClassLoader leak
ClassLoader is saved in a static map to share the EJB. A leak can occur because ClassLoader is not removed even if the EJB is undeployed. This bug is fixed.
Fixed: disconnect-timeout configuration set in jeus-ejb-dd is not applied
disconnect-timeout became deprecated in EJB 3.1. It was replaced with @StatefulTimeout and the stateful-timout configuration in ejb-jar.xml.
disconnect-timeout is still supported for backward compatibility. However, the current disconnect-timeout value obtained from BeanInfo is always NULL because the value is set in BeanInfo later. As a result, the disconnect-timeout value set in jeus-ejb-dd cannot be used. This bug is fixed.
Fixed: @StatefulTimeout is not applied
@StatefulTimeout was not applied to Stateful Timeout. This bug is fixed.
Fixed: OOM occurs in the MBeanServerConnection that used the Subject Delegation function
When a server is used for a long time without rebooting, OOM occurs in the BeanServerConnection that uses the subject delegation function because cache data continuously increases due to the cache entry deletion issue. This bug is fixed.
Fixed: vhost information of the domain.xml file sent by DAS is not applied
If DAS and MS are on separate machines and MS does not have a domain.xml file, vhost information set in the domain.xml file received from DAS is not applied when MS starts. This bug is fixed.
Fixed: When using auto-lock, an valid schema error occurs during JEUS configuration
When adding a lifecycle invocation, the invalid xml status is unavoidable when creating LifecycleInvocationType to generate InvocationType. When auto-lock is used, the invalid status does not change. This bug is fixed.
This bug was fixed by forcing an InvocationType and a className of WebAdmin to be configured together.
Fixed: Dump Backup fails when Session Manager shared-mode is set to 'true'
If a session manager finds its own name while searching for a session manager in another server, it determines that the server is not alive and dump backup is not executed.
If a session manager operates in shared mode, only one session manager is created with the same name as the server. Since GMS alive check determines server status, alive check for the session manager is unnecessary. By removing the alive check, dump backup failure no longer occurs.
Fixed: CPU is excessively used when reliable multicast is used
When MS starts in independent mode and terminates after DAS starts, timeout of the sender thread is set incorrectly, which increases CPU usage. This bug is fixed.
Fixed: Continuous attempts to reconnect even after MS successfully shuts down
When MS starts, it sends clustering information to another MS.
If the information fails to be sent, the MS continuously tries to connect to another MS. Even if MS terminates during the process, the connection attempts do not stop. This bug is fixed.