当前位置: 首页 > 知识库问答 >
问题:

Dropwizard/Jersey HTTP Servlet连接重置,但Jersey资源正常

郎宏逸
2023-03-14

我使用Jersey Resources和environment.servlets().addServlet(newServlet)实现了一个API,看看哪一个更快。

ab -n 10000 -c 100 -k -T application/binary -p req.bin http://localhost:8142/

共有1个答案

须彭亮
2023-03-14

我找到原因了。这是由于保持活动连接,我需要在响应中设置Content-Length头。

        response.setContentLength(out.len());
        response.getOutputStream().write(out.get(), 0, out.len());
        response.getOutputStream().flush();

并且不调用response.getOutputStream().close()

 类似资料:
  • 我正在使用Dropwizard 8.2.0构建REST服务。我有2个资源:FolderResource和FileResource: 我做错了什么?

  • 问题内容: 我有一种方法来启动我的应用程序: 我有一个Jersey资源类: 处理依赖关系的正确方法是什么?我希望我的资源与其他对象进行通信,如何将它们连接在一起? 问题答案: 您可以实现InjectableProvider。例如: 然后在资源中注释字段: @Resource private Foo foo;

  • 问题内容: 我在生产中看到很多连接重置,可能有多种原因,但我想确保代码中没有连接泄漏。我在代码中使用Jersey客户端 最初,我以以下方式实例化客户端Client this.client = Client.create(),我们将其更改为ApacheHttpClient.create()。我没有在响应上调用close(),但是我假设ApacheHttpClient将在内部执行该操作,因为HttpC

  • 我正在使用Drowpizard 0.7.1,但也许我会很快升级到0.8.4。 是否有人知道如何向dropwizard添加管理员资源,如下面示例中的操作菜单所示?

  • 我正在将Dropwizard与HikariCP连接池一起使用,但我想这可能与使用任何连接池有关。如何配置Dropwizard,以便在应用程序关闭时调用HikariCP数据源的shutdown()方法?有可能吗? HikariCP常见问题解答指出,Spring或其他IOC容器使之成为可能,但我目前没有使用DI框架,只有Dropwizard。

  • 问题内容: 我已经编写了自己的扫描器来浏览我的JAX-RS资源,并使用来打印出方法名称和路径。问题是,当我将相同的代码迁移到2.16(将包名称从更改为)时,它将无法正常工作。 深入研究发现,这些必修课程不再公开。有人知道原因吗?以及如何将下面的代码从1.x迁移到2.x?实际上,没有有关此迁移的文档。 所有帮助表示赞赏!下面是带有1.x的代码 问题答案: 可以在包中找到适用于Jersey 2.x的新