में ईजेबी इंजेक्शन करते समय NullPointerException मुझे लगता है कि यह समस्या बढ़ जाती है क्योंकि मुझे ईजेबी के साथ कुछ नहीं मिला। मेरे पास मेरी इकाई के लिए एक सेवा वर्ग है, जो @ स्टेटलेस है। जब मैं अपने सत्र स्कोप्ड प्रेजेंटेशन मॉडल में @EJB के साथ इंजेक्शन करके इसका उपयोग करता हूं, तो सब ठीक है। लेकिन अब मैं इस EJB सेवा एक डेटामॉडल में मैं अपनी प्रस्तुति मॉडल में इस्तेमाल के लिए ओवरराइट है उपयोग करना चाहता था:जावा क्लास
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;
}
}
निष्पादन पर मैं स्थान पर एक NullPointerException मिल "उन = service.findAllUsers();" एक ही काम करता है, जब मैं अपनी प्रस्तुति मॉडल में इस डेटामॉडल के ऊपर लिख:
@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 ;
}
};
}
}
नहीं यह एक सामान्य जावा क्लास में एक EJB सुई संभव है? मुझे क्या करना चाहिए कि मुझे प्रस्तुति मॉडल में डेटामोडेल को परिभाषित करने की आवश्यकता नहीं है?
धन्यवाद
अपने बीन इंटरफेस को ईजेबी एनोटेशन में डालने का प्रयास करें। मुझे कुछ बार पहले एक ही समस्या है और यह तय है। '@EJB (बीनइंटरफेस = YourInterface.class)' – ZeusNet