### Description of problem: JBoss does not check "Connection: close" in response header. It should be checked and JBoss is better to disable keep-alive and close connection when "Connection: close" exists in response header. ### Steps to Reproduce: Access JSP or Servlet application, which set "Connection: close" in response header, running on JBoss. For example, calling response.setHeader("Connection","close"); in JSP. ### Actual results: JBoss does not send FIN packet and the connection is still opened (keep-alived) after response is completed. ### Expected results: JBoss sends FIN packet and the connection is closed from JBoss after response is completed. ### Additional info: Apache httpd and Jetty send FIN packet and the connection is closed from the servers when "Connection: close" header is specified in response. In addition, as far as I heard from the customer, Weblogic also does. HTTP/1.1 RFC2616 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.10) states the following: ~~~ 14.10 Connection HTTP/1.1 defines the "close" connection option for the sender to signal that the connection will be closed after completion of the response. ~~~
Issue is still valid for EAP 6.3.0.ER10 bits. Also the patch in the attachment is not presented in relevant JBossWeb 7.4.8.Final.
Included in web with r2497, the system property is org.apache.coyote.http11.DEFAULT_DISABLE_UPLOAD_TIMEOUT
Actually, org.apache.coyote.http11.DISABLE_KEEPALIVE_ON_CONCLOSE ...
Fixed by component upgrade to JBoss Web 7.5.0.Beta1: https://bugzilla.redhat.com/show_bug.cgi?id=1138672
Verified with EAP 6.4.0.DR1.1 that based on system property org.apache.coyote.http11.DEFAULT_DISABLE_UPLOAD_TIMEOUT the connection is closed by sending FIN packet with org.apache.coyote.http11.DEFAULT_DISABLE_UPLOAD_TIMEOUT=true and with org.apache.coyote.http11.DEFAULT_DISABLE_UPLOAD_TIMEOUT=false it remains open.
Actually I meant org.apache.coyote.http11.DISABLE_KEEPALIVE_ON_CONCLOSE, thanks Masafumi for noticing.