【问题标题】:How to use the same ContainerRequestFilter for multiple projects?如何为多个项目使用相同的 ContainerRequestFilter?
【发布时间】:2015-06-09 12:03:43
【问题描述】:

我有两个项目 A 和 B,其中 B 依赖于 A。所以 A 的所有类都对 B 可用。

现在,我已经定义了一个ContainerRequestFilter 来拦截请求中的一些信息。如果我调用项目 A 的端点,则会调用它。但如果我调用项目 B 的端点,它不会被调用。

显然,项目 A 和项目 B 的上下文根是不同的。

示例:http://localhost:8080/projecta/..... http://localhost:8080/projectb/.....

两个项目都存档在一个耳朵里,部署在一个耳朵里。

我实际上希望它像 @AroundInvoke 拦截器那样工作。

如何实现?

野蝇 8.0 高枕无忧 Java EE 7

【问题讨论】:

  • 那个问题没有答案,两个问题来自不同的观点。标记的问题是关于在单个 jax-rs 应用程序中添加更多组件。
  • @peeskillet 这个问题是关于容器请求过滤器的。另一个是关于所有 jax-rs 组件/或资源..

标签: java jakarta-ee jax-rs resteasy interceptor


【解决方案1】:

我已经在第二个项目的 web.xml 中添加了提供程序,它完成了工作。

    <context-param>
        <param-name>resteasy.providers</param-name>
        <param-value>com.example.SampleRequestFilter,com.example.SampleResponseFilter</param-value>
    </context-param>

对于第一个项目,它不是必需的。 jax-rs 如何加载提供程序。对于第二个项目,我添加了上面的参数并且它起作用了。

【讨论】:

    猜你喜欢
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 2021-02-06
    • 2023-03-15
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    相关资源
    最近更新 更多