Java EJB,can';无法在Json响应方法中获取注入
我的EJB有问题:Java EJB,can';无法在Json响应方法中获取注入,java,ejb,Java,Ejb,我的EJB有问题: public class EntryResponseBuilder extends BaseResponseBuilder { @EJB private ApplicationCustomerCache applicationCustomerCache; //null 我在类中有类似的东西,它返回一个JSON响应 @Singleton @Startup public class ApplicationCustomerCache { @EJB Customer
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 {
@Singleton
@启动
公共类ApplicationCustomerCache{
@EJB
顾客道顾客道;
私有地图定制地图;
私有地图应用程序CustomerMap;
私有静态记录器log=Logger.getLogger(ApplicationCustomerCache.class);
@施工后
公共无效初始化(){
试一试{
get();
}捕获(例外e){
log.error(“ApplicationCustomerCache.init()”,e);
}
}
私有void get()引发SQLException{
它工作正常,只是当我尝试在
EntryResponseBuilder
中进行注入时,它是空的。之前有一个函数,它是inject,我在那里有@Stateless
类。我在Google中搜索过,但找不到任何解决方案。您在这里处理两个问题:
- 您正试图在POJO上注入一个bean实例,该实例不受容器管理
- 您遵循的EJB规范是什么 对于这两个问题,我认为以下答案可以帮助您:
- 您在这里处理两个问题:
InitialContext()解决了这个问题。
我通过使用
InitialContext()
你能告诉我你在哪里注入EntryResponseBuilder吗?我不这么做,我想我现在有问题,这个类不是由Conterner管理的。事实上,这可能是你的问题。你能告诉我你在哪里注入EntryResponseBuilder吗?我不这么做,我想我现在有问题,这个类不是由Conterner管理的这可能是你的问题。
ApplicationCustomerCache applicationCustomerCache = (ApplicationCustomerCache) new InitialContext().lookup("java:comp/ApplicationCustomerCache");