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

java泽西2.1客户端线程安全吗?

萧辰沛
2023-03-14

jersey 2.0的文档说明:

客户端实例是昂贵的资源。建议在创建Web资源时重用已配置的实例。Web资源的创建、请求的构建和响应的接收都保证是线程安全的。因此,客户端实例和WebResources实例可以在多个线程之间共享

在版本2.1中客户端仍然是线程安全的吗?我在2.1的文档中找不到关于线程安全的信息。

共有2个答案

宗政学
2023-03-14

我认为,根据2.1发行说明,在这方面没有任何变化,但我在文档中找不到这种变化的动机。

欧阳声
2023-03-14

是的,泽西2.1客户端是线程安全的,即使在未来的泽西版本中,它也应该是线程安全的。您可以从一个客户端实例创建许多WebTarget,并在这些WebTarget上调用许多请求,甚至在同一时间在一个WebTarget实例上调用更多请求。

如果将自定义非线程安全提供程序注册到客户端或WebTaget中,则线程安全性可能会被破坏。例如,ClientRequestFilter不是线程安全的,无法同时处理更多请求。Jersey内置提供程序是线程安全的。某些Jersey扩展提供程序不能是线程安全的,在这种情况下,这是在提供程序的javadoc中指定的。

 类似资料:
  • 我有一个网站,我只是想写一个脚本,发送字符串到一个文本输入在页面(唯一的一个)和点击提交。我构建了一个selenium系统,但被告知这是矫枉过正的,访问页面上的endpoint并以这种方式发送文本要“容易”得多。 线程“main”java.lang.IllegalStateException中出现异常:未找到InjectionManagerFactory。在org.glassfish.jersey

  • 我设计了一个多部分Jersey REST服务,如下所示,用于接收多部分请求(文件上传)并将文件保存在磁盘位置: 我的测试客户是: 但我无法得到回应。 当我使用HTML网页作为客户端通过调用REST服务上传文件时,它工作得很好,但从REST客户端它不工作。 客户有什么需要更改的吗?

  • 当我的客户机应用程序尝试从我的安全RESTWeb服务请求资源时,我得到了粘贴在下面的错误。 我已经在这个主题上找到了这个答案,但是额外的代码似乎很极端。使用泽西岛客户端访问安全的宁静Web服务 有谁知道解决问题的更简单的方法吗? 我的项目:在服务器端,我正在使用jdbc realm的基本身份验证,这在浏览器中使用时工作正常。在客户端,我设置了用户名和密码,当我发送请求时发生错误。如果您需要代码片段

  • 我使用客户机对一个API进行REST调用,该API返回mulipart中的一个Json和一个PDF文件作为响应的第一和第二部分。 使用上面的客户端解析这个多部分响应的正确方法是什么?

  • 问题内容: 我正在尝试使用Jersey客户端模拟对我的Web服务的HTTP请求。我尝试实现文档中的简单示例。这是我的短代码: 我什至没有实现整个示例,因为当前我在最后一行收到一个异常: 我只将此依赖项添加到我的: 我试图用谷歌搜索问题,以及调试应用程序,但我真的看不出问题出在哪里。 编辑 所有Maven依赖项: 问题答案: 这看起来像与JAX-RS API版本(包含MultiValuedMap)有

  • 我正在尝试编写一个Jersey客户端应用程序,它可以将多部分表单数据发布到Restful Jersey服务。我需要发布一个包含数据的CSV文件和一个包含元数据的JSON文件。我使用的是Jersey客户端1.18.3。这是我的密码(为了公司保密,有些名字已经改了)。。。 现在我在最后一行得到一个编译错误,说它不能从void转换到ClientResponse。 我之前从这篇文章中得到了一些关于Rest