概括
有没有办法通过 RESTEasy 以编程方式调用 JBoss 中的 REST URL 设置,以便编程方法调用实际上深入到 REST 处理器以查找/执行正确的端点?
背景
我们有一个具有大约 20 个不同 REST 端点的应用程序,并且我们已将应用程序设置为从其他联合对等点接收数据。为了减少跨网络的 HTML 请求,对等站点向服务器发送大量请求,接收服务器需要根据它接收到的 URL 采取行动。示例数据流:
服务器 B --> [通过 HTTP/Post 发送的大量请求] --> 服务器 A 将列表分解为单个 URL --> [开始处理]
各个 URL 是接收服务器熟悉的 REST URL。
可能的解决方案
- 让接收服务器读取它接收到的 URL,并直接调用管理 bean
- 这里的缺点是我们必须编写额外的处理代码来解码接收到的 URL 字符串。
- 这种方法的好处是对于发生的事情没有歧义
- 让接收服务器自行执行 URL
- 接收服务器可以将 URL 更改为
http://127.0.0.1:8080/rest/...
,并对其自身发出 HTTP 请求。 - 这里的缺点是接收服务器可能不得不自己发出很多 HTTP 请求(它已经有点忙于处理来自外部世界的“真实”请求)
- 接收服务器可以将 URL 更改为
- 首选:让接收服务器以某种方式访问主 RESTEasy bean 并将请求提供给它。
- 1 和 2 的组合,无需手动处理 1 或涉及 2 的 HTTP 请求。
技术栈
- JBoss 6.0.0 AS(2010 版)/Java 6
- 高枕无忧