问题标签 [jersey-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
16208 浏览

java - java Jersey 2.1客户端线程安全吗?

球衣 2.0 的文档说

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

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

0 投票
18 回答
257327 浏览

eclipse - java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer

我正在尝试使用 Jersey + Google 应用引擎构建一个简单的 hello world 应用程序两天。对于简单的 AppEngine 项目,我遵循了这些教程,并且都可以正常工作 https://developers.google.com/appengine/docs/java/gettingstarted/creating https://developers.google.com/appengine/docs/java/webtoolsplatform

但现在我正在尝试添加泽西岛并遵循本教程http://www.vogella.com/articles/REST/article.html

但是服务器一直给我

java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer

当我在web.xml添加这些行时:

我已经JAX-RS 2.1 RI bundle这里WEB-INF/lib下载了 Jersey,并按照教程中的描述在文件夹中添加了所有 jar 文件。即使两天后也没有任何效果。我在谷歌上搜索了好几次,显然使用 Maven 的人已经以某种方式解决了这个问题,但我没有使用 Maven,编写该教程的人也没有。

只是为了检查是否com.sun.jersey.spi.container.servlet.ServletContainer存在于导入中, Jersey jars我尝试在 Java 中编写这个完全限定的名称并让智能感知完成名称,但之后我无法获得任何智能感知,所以我最后的猜测是在最新的 Jersey 版本中com.sun.je有一些包重新排列并且jersey已经不在里面了com.sun。我筋疲力尽,我将不胜感激任何帮助。

0 投票
3 回答
7514 浏览

jboss - Jersey 2.1 + JBoss 7.1 NoSuchMethodError: getProperties

我正在尝试在 JBoss 7.1 AS 上运行 Jersey 2.1 REST 服务。我在部署期间收到 NoSuchMethodError: javax.ws.rs.core.Application.getProperties 错误:

在 pom.xml 我有:

在 web.xml 中:

以前我尝试使用 Jersey 1.17.1 并且它有效(在 JBoss 中禁用 resteasy 扫描和 jaxrs 扩展/子系统之后)。到目前为止,我发现了一篇类似的帖子(但使用 Tomcat),其中的结论是错误的 javax.ws.rs.core.Application 在运行时被绑定,并且绑定的类是“旧的”(JAX- RS 1.1) 版本。

任何帮助如何解决这个问题?我是 .net 人,我对 java 完全视而不见 :) 谢谢 Bartek

0 投票
1 回答
4852 浏览

java - GlassFish 4.0 w/ Jersey 返回 500 内部服务器错误,无一例外

我正在使用 GlassFish 4.0 服务器和基于 JPA 的服务器端类,我想通过 JAX-RS 提供这些类。到目前为止,这对于简单实体来说效果很好。但是,例如,如果我有一个 @OneToMany 关系并且有一个链接实体,则服务器会返回 500 内部服务器错误。在这种情况下,服务器日志中不会记录任何内容。为了找到错误,我创建了一个小的自定义 JSP 页面来获取有关所发生情况的更多信息。代码就是这样:

不幸的是,输出只是“状态:500 Throwable:null”

我自己的服务器端代码似乎运行正常(做了一些调试输出),但是出现了一些错误。在此示例中,除非存在链接的 IssueComment 实体,否则可以毫无问题地检索 User 和 Issue 类:

用户等级:

用户等级:

问题评论:

网络服务如下:

我放弃了客户端源代码,因为它是服务器端的,可以用普通浏览器复制,所以恕我直言,这里不需要客户端代码。

0 投票
6 回答
49853 浏览

java - 使用 Jersey 通过 RESTfull 服务上传文件和资源配置不可修改?

我在下面实现了这样的测试服务UploadFileService

我得到了这个异常记录:

环境

  • Netbeans7.3.1
  • 玻璃鱼 4.0
  • 带有 Glassfish 4.0 的 Jersey 2
0 投票
2 回答
10293 浏览

java - 指定自定义应用程序上下文

我们正在将我们的一些数据服务从使用 jersey-spring 的 Jersey 1.x 迁移到使用 jersey-spring3 的 Jersey 2.x。

我们有几个继承自 JerseyTest 的测试类。其中一些类使用 web.xml 文件中未指定的自定义 applicationContext.xml 文件。

在 Jersey 1.x 中,扩展 JerseyTest 的测试类可以使用 WebappDescriptor.Builder 调用超级构造函数,可以将上下文参数传递给该构造函数以设置或覆盖应用程序上下文路径。

例如

Jersey 2.x 如何实现同样的效果?

我已经梳理了API 文档用户指南和一些来源,但无法找到答案。

0 投票
4 回答
5404 浏览

java - 使用 jersey-spring3 从 JerseyTest 容器中检索托管 bean

这个问题是上一个问题Specify Custom Application Context的后续问题。

我们正在将我们的一些数据服务从使用 jersey-spring 的 Jersey 1.x 迁移到使用 jersey-spring3 的 Jersey 2.x。

我们有几个继承自 JerseyTest 的测试类。其中一些类使用 web.xml 文件中未指定的自定义 applicationContext.xml 文件。

出于对象模拟的目的,我们将模拟我们 Jersey 资源中的一些组件。

在 Jersey 1.x 中,我们可以通过以下方式模拟应用程序上下文文件中的对象

并按如下方式检索这些模拟实例

使用 jersey-spring3 的 Jersey 2.x 如何实现同样的效果?

我已经梳理了API 文档用户指南和一些来源,但无法找到答案。

谢谢你。

编辑:

我们将在 JAX-RS 资源中使用模拟 bean。我们的资源中有服务接口@Autowired

例如

我们想模拟并设定对这些服务的期望。

例如

0 投票
4 回答
10188 浏览

json - GlassFish 4.0 / Jersey 2.0 - JsonStructureBodyReader 的 NoClassDefFoundError

我在我的开发系统上使用 GlassFish 4.0 R89,使用 JAX-RS。简单的调用工作,所以我可以得到一个序列化的对象,用 XML 表示。我必须将它安装在一个也将参与编码过程的人的机器上,我也在我的笔记本上尝试过 - 我得到了相同的结果 - 为类 JsonStructureBodyReader 抛出了 NoClassDefFoundError (虽然我'我什至没有使用 JSON,试过了,服务器肯定会返回带有内容类型正确标头的 XML)。

我以为我可能错误地导入了一个项目,但是在比较了工作版本和非工作版本中的文件之后,我意识到似乎没有可能对此负责的差异(项目更多或两台机器上的相等)。

我想也许GF版本有问题,所以我检查了一下,但两个安装都是R89。但是: GFs modules/ 目录中的 jars 似乎有所不同,尤其是在进行二进制比较时。

有没有人遇到过这个问题?

这是完整的堆栈跟踪:

0 投票
1 回答
11803 浏览

java - 球衣休息和 csv 响应

我创建了一个使用 Jersey 以 CSV 文件响应的休息呼叫。

休息调用代码是:

上面的代码读取在临时位置创建的 csv 文件,并使用 rest 调用响应该 csv。这是完美的工作正常。但现在要求发生了变化。流式传输内存中的文件内容,并从 Rest API 以 csv 格式响应。
我从来没有完成流式传输到内存中的文件并响应 REST 中的内容。

有人可以帮我吗?

提前致谢。

0 投票
1 回答
1281 浏览

glassfish - Glassfish 摘要身份验证

我想使用 JAX-RS(Jersey + Jackson,Jackson 用于生产 JSON)构建 RESTful Web 服务。

我使用 Glassfish 4.0 作为服务器,使用 netbeans 作为 IDE。

网络服务工作正常,但目前我没有任何身份验证。

所以现在我正在考虑对密码进行哈希处理的摘要身份验证,这样您就不需要以纯文本形式传输密码。另外我想使用https,以便对数据进行加密。

我理解了这个理论。但我不知道如何在带有 Glassfish 的 Netbeans 中做到这一点。

我在 glassfish 的管理控制台中看到了一些教程。但是没有办法只在netbeans中做到这一点吗?我不能在部署应用程序时创建的 netbeans 中定义一个领域吗?

在创建领域和东西之后。我想我需要在我的所有资源(WebServices)中注入某种经过身份验证的“用户”对象。但我以前从未这样做过。我正在寻找一个很好的教程,它描述了我如何设置摘要身份验证,并且通过 netbeans 的注入可以用 netbeans 做到这一点,以便我能很好地理解它。