Tag: routing

如何使用Jersey的内部路由机制来提取类/方法引用?

我正在运行Jersey 1.8应用程序。 Jersey正在作为Servlet运行。 我需要编写一个给出普通请求/响应的servletfilter ,能够确定哪个REST资源/方法将响应请求并从注释中提取值。 例如,假设我有以下资源: @Path(“/foo”) @MyAnnotation(“hello”) public class FooResource { @GET @Path(“/bar”) @MyOtherAnnotation(“world”) public Response bar(){ … } } 当请求GET /foo/bar进来时,我需要我的servletfilter能够在Jersey自己的servlet处理请求之前从MyAnnotation和MyOtherAnnotation提取值”hello”和”world” 。 此filter逻辑应该能够适用于所有请求和注册的所有资源。 有没有办法访问Jersey的内部路由机制来获取Jersey将发送请求的类/方法引用? 我也对其他建议持开放态度,但理想情况下,通过自己阅读@Path注释来试图破解我自己的路由机制就没有了。

Apache Camel http到http路由(有可能吗?)

我现在开始与Camel。 我见过http客户端的http4组件和http服务器的jetty组件。 我见过几个使用其中一个的例子。 我想知道是否可以将它们组合在一起。 例 from(“jetty:http://0.0.0.0:8080/myapp/myservice”) .to(“http4://www.google.com”); 这将使骆驼成为一个简单的基于http的路由器/代理。 Web浏览器会点击骆驼url而不是google。 (谷歌只是一个例子,我有一个真正的基于POST的服务,我想使用) 这条路线可行吗? 我应该研究Camel还是我需要一个不同的软件框架? 将来我还需要在两者之间添加转换/filter​​。 我试过它并获得了一个nullpointerexception [qtp757856402-14] SendProcessor DEBUG >>>> Endpoint[http4://www.google.com] Exchange[Message: [Body is instance of java.io.InputStream]] [qtp757856402-14] DefaultErrorHandler DEBUG Failed delivery for exchangeId: ID-IT12-53265-1302683969823-0-1. On delivery attempt: 0 caught: java.lang.NullPointerException [qtp757856402-14] DefaultErrorHandler ERROR Failed delivery for exchangeId: ID-IT12-53265-1302683969823-0-1. Exhausted after delivery attempt: 1 caught: java.lang.NullPointerException java.lang.NullPointerException