我的 EJB 有问题:
public class EntryResponseBuilder extends BaseResponseBuilder {
@EJB
private ApplicationCustomerCache applicationCustomerCache; //null
我在类里面有类似的东西,它返回 JSON 响应。
@Singleton
@Startup
public class ApplicationCustomerCache {
@EJB
CustomerDao customerDao;
private Map<Integer, Customer> customerMap;
private Map<Integer, List<Customer>> applicationToCustomersMap;
private static Logger log = Logger.getLogger(ApplicationCustomerCache.class);
@PostConstruct
public void initialize() {
try {
get();
} catch (Exception e) {
log.error("ApplicationCustomerCache.init()", e);
}
}
private void get() throws SQLException {
它工作正常,除了当我尝试在 EntryResponseBuilder
中注入(inject)时,它是空的。之前有一个函数,它注入(inject),我在其中使用 @Stateless
进行类。我在 Google 中搜索过,但找不到任何解决方案。
最佳答案
您在这里处理两个问题:
- 您正尝试在 POJO 上注入(inject) Bean 实例,该实例不受容器管理;
- 您遵循的 EJB 规范是什么?
对于他们两个,我认为以下答案可以帮助您:
关于java - EJB,无法在Json响应方法中进行注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173079/