How to configure Gzip for JBoss?

abg picture abg · Sep 25, 2012 · Viewed 7.2k times · Source

I think to try to speed up my Web App by reducing the size of transferred data. For example, in Nginx there is a special module. How to enable compression for JBoss server?

Answer

Rob Juurlink picture Rob Juurlink · Sep 25, 2012

JBoss AS version 6 or lower

To enable gzip compression, settings need to be added to your existing HTTP connector.
Located at /server/default/deploy/jbossweb.sar/server.xml:

<!-- A HTTP/1.1 Connector on port 8080 -->
<Connector protocol="HTTP/1.1" port="${jboss.web.http.port}"
        address="${jboss.bind.address}" redirectPort="${jboss.web.https.port}"

compression="force"
compressionMinSize="512"
noCompressionUserAgents=""
compressableMimeType="text/html,text/xml,text/css,text/javascript"
/>

JBoss AS 7.0.x

JBoss 7.0.x - 7.1.0 have no support for gzip compression build in.
See also issue report at: https://issues.jboss.org/browse/AS7-2991

One way to add gzip compression in JBoss 7.0 is to add is as filter.
For details: https://code.google.com/p/webutilities/wiki/CompressionFilter

JBoss AS 7.1.1

Just recently JBoss finished adding gzip compression to JBoss. As of version 7.1.1Final, gzip compression is supported out of the box again. To enable, add to the server launch params:

-Dorg.apache.coyote.http11.Http11Protocol.COMPRESSION=on