java - 在 ClientResponseFilter Jersey 中注入 EJB
问题描述
我尝试使用球衣将 EJB 注入到 ClientResponseFilter 中。但是,EJB 始终为空。我在网上阅读了一些资源,但我找到的解决方案都没有奏效(另外,我不想使用 InitialContext 来照顾我的 bean)。这是我的过滤器
@Provider
public class MyResponseFilter implements ClientResponseFilter {
private static final Logger LOGGER = LoggerFactory.getLogger(MyResponseFilter.class);
@EJB
private MyBean myBean;
@Override
public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
...
// using myBean always throws NullPointerException
myBean.someMethod();
}
}
MyBean 的代码:
@Startup
@Singleton
public class MyBean extends SomeAbstractClass {
...
}
我还尝试使用 将提供程序添加为资源,resources.add(MyResponseFilter.class);
但这也不起作用。有人可以帮我解决这个问题吗?我想按原样使用MyBean
,因为它在很多其他地方都使用过,我不确定我是否能捕捉到它的变化可能产生的所有副作用。
谢谢!
解决方案
推荐阅读
- java - 如何使用 Flutter 和 Java Spring 创建独立的桌面应用程序,而无需在 localhost 上创建 Web 服务器
- javascript - RTK 查询“merge-patch+json”内容类型破坏请求体
- r - 加快正则表达式替换
- vue.js - Vue中Axios GET请求404错误如何解决?
- reactjs - 在渲染之前设置组件值
- c++ - std::execution::unseq 启用了哪些优化?
- python - 将 max_norm 应用于 keras 中的单个权重
- regex - DialogFlow CX 为 REGEX ENTITIES 抛出“正则表达式匹配范围太广”错误
- ionic-framework - 生成整洁的离子模板对象的问题
- javascript - 当过滤器更改基础数据时,react-virtualized infiniteLoader 不会触发 loadMoreRows