我的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
注射时,它是空的。之前的一个函数,它注入,我有@Stateless
的类。我在谷歌搜索过,但找不到任何解决方案。
答案 0 :(得分:2)
你在这里处理两个问题:
对于他们两人,我认为以下答案可以帮助您:
答案 1 :(得分:0)
我使用InitialContext()
ApplicationCustomerCache applicationCustomerCache = (ApplicationCustomerCache) new InitialContext().lookup("java:comp/ApplicationCustomerCache");