在vert.x中发送压缩响应

时间:2013-11-18 22:14:16

标签: vert.x

我有一个RESTful服务器,可以将大量的JSON发送回客户端。我在Grails中实现了服务器,并且做了一些基准测试,我在vert.x中重写了它。

一切正常,除了gzip压缩之外,我还没有找到一种在vert.x中激活它的方法 我在vert.x网站,这里和谷歌搜索了一个答案,我无法找到任何信息,所以我试着通过在这里发布答案:)

无论如何都要在vert.x上进行gzip响应吗?

提前致谢!

2 个答案:

答案 0 :(得分:10)

我想我找到了自己问题的答案......

在vert.x 2.1M1中,他们已将HTTP压缩添​​加到HttpServerDefaultHttpServer。要激活它,您必须使用方法setCompressionSupported(true)

即使我使用vert.x 2.1M1,它似乎也不适合我。这是因为我使用的是Groovy,而自版本2.0.0起,vert.x mod-lang-groovy还没有更新。

所以Java vert.x libs允许压缩,但包装Java的libovs libs不允许。 setCompressionSupported(true)方法给了我一个NotSuchMethod异常。

我找到了解决方法。我使用toJavaServer()方法恢复Groovy中的Java HttpServer,并在此Java HttpServer上调用setCompressionSupported(true)

现在我的Groovy Verticle中有HTTP压缩:)

答案 1 :(得分:9)

稍微修改了VertX 3.x中的压缩支持。

现在可以通过(Java示例)打开它:

HttpServerOptions serverOptions = new HttpServerOptions();
serverOptions.setCompressionSupported(true);
HttpServer server = vertx.createHttpServer(serverOptions);