Bence bu problem daha da artar çünkü EJB'lerle bir şey elde edemedim. Varlığım için @Stateless olan bir hizmet sınıfım var. Benim oturum kapsamı sunum modelimde @EJB ile enjekte ederek kullanıyorum, her şey yolunda. "Kullanıcıların = service.findAllUsers();" yürütme üzerindeJava Sınıfında EJB'yi enjekte ederken NullPointerException
public class LazyUserDataModel extends LazyDataModel<User> {
@EJB
private UserService service;
@Override
public List<User> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) {
List<User> users;
users= service.findAllUsers();
this.setRowCount(users.size());
return users;
}
}
Ben pozisyonda bir NullPointerException olsun: Ama şimdi benim sunum modelinde kullanılmak üzere üzerine sahip datamodel bu EJB servisini kullanmak istedi Aynı eser, benim sunum modelinde bu datamodel üzerine yazdığınızda:
@Named
@SessionScoped
public class UserPM {
@EJB
private UserService service;
private LazyDataModel<User> lazyUsers;
public UserPM() {
// Don't works
//lazyUsers = new LazyUserDataModel();
lazyUsers = new LazyDataModel() {
@Override
public List<User> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) {
List<User> users;
users = service.findAllUsers();
this.setRowCount(users .size());
return users ;
}
};
}
}
bu normal bir Java sınıfı bir EJB enjekte etmek mümkün değil midir? Ne yapmalıyım Sunum modelinde DataModel'i tanımlamak zorunda değilim?
Teşekkür
BeanInterface'inizi EJB açıklamalarına dahil etmeye çalışın. Aynı problemi birkaç kez önce çözdüm ve düzeltdim. @EJB (beanInterface = YourInterface.class) ' – ZeusNet