यहाँ मेरी सेम है कि एक सिंगलटन सेम InformationService इंजेक्षन करने की कोशिश कर रहा है:EJB 3.1: सिंगलटन सेम एक और राज्यविहीन सेम हालांकि दोनों सेम पंजीकृत हो रहे हैं अंदर इंजेक्ट किया जा रहा नहीं
@Path("/information/{name}")
@Stateless (name="InformationResource")
public class InformationResource {
@EJB
private InformationService appService;
@GET
@Produces(MediaType.APPLICATION_XML)
public Information getInfo(@PathParam("name") String name){
return appService.getMap().get(name);
}
@PUT
@POST
@Consumes(MediaType.APPLICATION_XML)
public Information putInfo(@PathParam("name") String name, Information info){
return appService.getMap().put(name,info);
}
@DELETE
public void deleteInfo(@PathParam("name") String name){
appService.getMap().remove(name);
}
}
यह InformationService है वर्ग
@Singleton
public class InformationService {
private Map<String,Information> map;
@PostConstruct
public void init(){
map = new HashMap<String,Information>();
map.put("daud", new Information("B.Tech","Lucknow"));
map.put("anuragh", new Information("M.Sc","Delhi"));
}
public Map<String,Information> getMap(){
return map;
}
}
एक बहुत ही सरल JAX-आरएस कार्यान्वयन की इसकी हिस्सा है और मैं JBoss 6.1 फाइनल में युद्ध के रूप में तैनाती कर रहा हूँ। समस्या यह है कि सूचना सेवा जब मैं उचित अनुरोध करता हूं तो एक NullPointerException फेंकता है। अगर मैं ऐप सेवा को स्पष्ट रूप से प्रारंभ करता हूं, तो सब कुछ ठीक काम करता है। @EJB एनोटेशन क्यों काम नहीं कर रहा है?
मैं जेएक्स-आरएस (आराम से नहीं) के जेबॉस के कार्यान्वयन का उपयोग कर रहा हूं – Daud