Unfortunately adding the deflate compression causes a ParseException on the server side when the CometD client sends a JSON Object as message.
It seems to be caused by the size of the message > 1KB .
I am using latest Chrome browser, that sends client_max_window_bits header, and server opts out ignoring this request.
WARN [Jetty [Omniscope]-153] (AbstractWebSocketTransport.java158) - Error parsing JSON:
at org.cometd.common.JettyJSONContext.parse(JettyJSONContext.java:75)
at org.cometd.server.AbstractServerTransport.parseMessages(AbstractServerTransport.java:150)
at org.cometd.websocket.server.AbstractWebSocketTransport.access$200(AbstractWebSocketTransport.java:45)
at org.cometd.websocket.server.AbstractWebSocketTransport$AbstractWebSocketScheduler.onMessage(AbstractWebSocketTransport.java:271)
at org.cometd.websocket.server.JettyWebSocketTransport$WebSocketScheduler.onWebSocketText(JettyWebSocketTransport.java:203)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:189)
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:64)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:158)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:160)
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:331)
at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFrame(AbstractExtension.java:170)
at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.nextIncomingFrame(PerMessageDeflateExtension.java:105)
at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwardIncoming(CompressExtension.java:131)
at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.incomingFrame(PerMessageDeflateExtension.java:85)
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:256)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:647)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:485)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:238)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:57)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:191)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:126)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: unknown char ','(44) in |||,
at org.eclipse.jetty.util.ajax.JSON.parse(JSON.java:879)
at org.cometd.common.JettyJSONContext.parse(JettyJSONContext.java:70)