我正在開發一個使用Glassfish 4.0的REST應用程序。GlassFish 4 + JAX-RS過濾器@EJB
在資源類中,我可以通過使@Stateless類和通過@EJB(注入類是無狀態的EJB)注入來獲得注入的工作。
但是,這種方法在JAX-RS過濾器中不起作用。我根本無法注射。
見下面的代碼:
@Provider
public class UpdateFilter implements ContainerRequestFilter {
@EJB
private MyBeanInterface doStuffBean;
@Override
public void filter(ContainerRequestContext requestContext) {
...
}
}
doStuffBean總是空。
有什麼建議嗎?
@Inject不起作用。引發異常:** UnsatisfiedDependencyException:沒有可用於注入的對象... **。 – bafitor
那是因爲你的類不是託管bean。我不確定是否可以將此Provider設置爲ManagedBean,因此您可能將不得不創建自己的生產者來執行EJB查找,然後您可以在任何地方注入(有大量文章顯示如何執行此操作),或者您只能在這個班上做查找。 – ZeusSelerim