Tag: resteasy

如何配置Spring-Boot应用程序继续使用RestEasy?

我有一个旧的Web应用程序(纯servlet,没有Spring),我想以fat-jar的forms运行。 这个应用程序提供了很多REST服务。 我不想修改旧代码。 如何配置Spring-Boot应用程序继续使用RestEasy?

将Spring bean注入RestEasy

是否可以将Spring bean注入RestEasy @Path类? 我设法使用@InjectParam注释使用Jersey,但由于其他一些原因,我需要切换到RestEasy,我似乎无法找到一种方法(尝试好的”javax.inject.Inject,但没什么。 编辑 此解决方案有效: http : //www.mkyong.com/webservices/jax-rs/resteasy-spring-integration-example/ 但它不是注射..我仍然喜欢更优雅的东西。

在multithreading环境中重用JAX RS Client(具有resteasy)

根据文件, “客户端是管理客户端通信基础设施的重量级对象。初始化以及客户端实例的处理可能是一项相当昂贵的操作。因此建议在应用程序中仅构建少量客户端实例。” 好吧,我试图在一个静态变量中缓存Client本身和WebTarget实例,在multithreading环境中调用someMethod(): private static Client client = ClientBuilder.newClient(); private static WebTarget webTarget = client.target(“someBaseUrl”); … public static String someMethod(String arg1, String arg2) { WebTarget target = entrTarget.queryParam(“arg1”, arg1).queryParam(“arg2”, arg2); Response response = target.request().get(); final String result = response.readEntity(String.class); response.close(); return result; } 但有时(并非总是)我得到一个例外: BasicClientConnManager的使用无效:仍然分配了连接。 确保在分配另一个连接之前释放连接。 如何正确地重用/缓存Client / WebTarget? 是否可以使用JAX RS Client API? 或者我必须使用一些特定于框架的function(resteasy / […]

两个具有不同查询参数的GET方法:REST

我们可以使用不同的查询参数创建相同的GET URI吗? 例如:我有两个REST GET URI: /questions/ask/?type=rest /questions/ask/?byUser=john 现在,REST服务没有将两个GET方法识别为单独的,并且只考虑了它被声明为第一个的1个GET方法。 为什么这样做? 有什么方法可以使两个GET方法具有不同的查询参数? 如果您能引用任何资源,我们将非常感激。

使用Google App Engine重新熟悉

我有一个使用JBoss Resteasy的工作Rest Web服务但是当我尝试移植它以使用GAE时我在执行时遇到此错误: java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap

使用JAXB将子类实例作为超类传递

我所拥有的是一组表示消息类型的Java类(接近25个)。 它们都inheritance自我想要抽象的Message类。 每种消息类型都会向Message超类提供的集合中添加一些其他字段。 我正在使用RESTeasy实现一些RESTful Web服务,并希望有这样的方法: public Response persist(Message msg) { EntityTransaction tx = em.getTransaction(); tx.begin(); try { em.persist(msg); } catch (Exception e) { e.printStackTrace(); } tx.commit(); em.close(); return Response.created(URI.create(“/message/” + msg.getId())).build(); } 而不是有25个单独的持久化方法,每个方法都适合特定的消息类型。 目前,我已经注释了我的Message类,如下所示: @MappedSuperclass @XmlRootElement(name = “message”) public abstract class Message implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) Integer id; @Embedded Header header; @Embedded […]

RESTEasy客户端代理开销?

我正在使用客户端代理创建一个RESTEasy服务,它到目前为止工作正常。 但是,我确实注意到在我的一些函数中,我看到了相同的代码行: MyClass client = ProxyFactory.create(MyClass.class, “http://localhost:8080”); 从函数中取出它并使其成为类的成员变量以减少可能的开销是否更好? 此服务将处理10000 reqs / min的负载。 谢谢

ZipException:运行应用程序时无效距离太远的错误

我有一个使用Resteasy作为后端api / service的GWT应用程序,该项目工作正常,但当我将项目移动到另一台机器并运行它时,我在执行GWT运行时遇到此错误: Caused by: java.util.zip.ZipException: invalid distance too far back at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164) at java.util.zip.ZipInputStream.read(ZipInputStream.java:193) at java.util.jar.JarInputStream.read(JarInputStream.java:207) at org.scannotation.archiveiterator.InputStreamWrapper.read(InputStreamWrapper.java:36) at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) at java.io.BufferedInputStream.read(BufferedInputStream.java:254) at java.io.DataInputStream.readInt(DataInputStream.java:387) at javassist.bytecode.ClassFile.read(ClassFile.java:731) at javassist.bytecode.ClassFile.(ClassFile.java:108) at org.scannotation.AnnotationDB.scanClass(AnnotationDB.java:343) at org.scannotation.AnnotationDB.scanArchives(AnnotationDB.java:326) at org.jboss.resteasy.plugins.server.servlet.ConfigurationBootstrap.createDeployment(ConfigurationBootstrap.java:163) … 24 more 可能是什么问题呢? 是GWTjar子还是Resteasy? ZipException是什么意思? 这是否意味着依赖损坏?

JAXRS / RestEasy中的@Produces集合

我发现了一些我无法理解的奇怪行为。 我测试了4个类似的例子: 1 @GET @Produces(MediaType.APPLICATION_JSON) public Response produce() { List books = Arrays .asList(new Book[] { new Book(“aaa”, “AAA”, “12345”), new Book(“bbb”, “BBB”, “09876”) }); return Response.ok(books).build(); } 2 @GET @Produces(MediaType.APPLICATION_JSON) public List produce() { List books = Arrays .asList(new Book[] { new Book(“aaa”, “AAA”, “12345”), new Book(“bbb”, “BBB”, “09876”) }); return books; } 3 […]

使用JAXB XMLAnyElement类型的样式来返回动态元素名称

我在这些论坛以及其他博客文章中已经阅读了很多答案,但我似乎无法将各个部分连接在一起。 因此,我们从包含Map属性的基本POJO开始。 已经很好地建立了如何包装它,但这会返回一些价值。 我要做的是取名字(又名标签)并使其成为有效的XML’属性’。 所以我们会得到一些价值。 我发现了一个例子(如果我能再次找到它将链接)如下: @XmlAnyElement public List<JAXBElement> getXmlProperties() { List<JAXBElement> elements = new ArrayList<JAXBElement>(); for (Map.Entry property: properties.entrySet()) elements.add(new JAXBElement(new QName(property.getKey()), String.class, property.getValue())); return elements; } 这工作得很好,但我在我的Bean / Pojo类中有这个,它与GWT前端共享,因此不能包含对JAXBElement和QName的引用(需要源代码)。 那么,是否有办法使用XmlAdapter和JAXBElement / QName / XmlAnyElement梦之队获得类似的结果? 顺便说一下,如果这个因素有用,我就会使用RESTEasy。 这是带有@XmlAnyElement + JAXBElement的论坛post: 带有JAXB的动态标签名称