I think I found a solution to this. Thanks for the pointers and suggestions. They really helped.
Part 1: I used the HttpFox plugin in Firefox to view the response headers. Because Philip suspected that the Connection header was set to close.
Part 2: Adding a line of code to my own filter to change the response header did not help. So I downloaded and added jbossWebService.jar to the WEB-INF / lib directory to use the org.jboss.web.tomcat.filters.ReplyHeaderFilter class. (Prior to JBoss 7, apparently this package was included in JBoss by default.) The following was added to my web.xml:
<filter> <filter-name>CommonHeadersFilter</filter-name> <filter-class> org.jboss.web.tomcat.filters.ReplyHeaderFilter</filter-class> <init-param> <param-name>Connection</param-name> <param-value>keep-alive</param-value> </init-param> </filter>
This did the trick (well, almost). Now the first "click" from the browser generates about 4 TCP connections - I'm not sure about the reason for this number, because every single click generates> = 7 HTTP requests. But all subsequent clicks, if they are performed during the ttl period (15 s), do not generate additional TCP connections. I think that a more thorough investigation, as Philip suggested, will reveal something. But now I have to move on. So, while I mark this question as an answer. If necessary in the future, I will open it again.
source share