Bonjour,
Je reçois une exception NPE quand je redémarre tomcat. Je sais exactement quel object évalue à null (c'est une variable d'instance d'un objet de scope session) mais je ne sais pas pourquoi il n'est pas réinstancié par Spring et réinjecté dans l'objet de portée session.
Voici le code dans la classe session-scoped SuggestionOeuvreView qui lance un NPE:
Voici le code concernant l'instanciation de la variable qui devient null. (toujours dans la même classe):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 private Sculpture _suggererSculpture() { log.debug("_suggererSculpture"); log.debug("Etat de la liste: " + this.sculpturesNonVisitees); if (!this.sculpturesNonVisitees.isEmpty() && this.sculpturesNonVisitees.peek() != null) { Integer idSculptureSuggeree = this.sculpturesNonVisitees.pollFirst(); this.sculpturesNonVisitees.addLast(idSculptureSuggeree); log.debug("jbmService: " + jbmService); return jbmService.findByID(idSculptureSuggeree);//jbmService est null!! } else { log.error("Probleme dans _suggererSculpture"); return null;//todo } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 private transient JbmService jbmService; @Autowired public SuggestionOeuvreView(JbmService jbmService) { log.debug("SuggestionOeuvreView()"); this.jbmService = jbmService; this.sculpturesNonVisitees = recupererSculpturesNonVisitees(); } @Autowired public void setJbmService(JbmService jbmService) { this.jbmService = jbmService; }
Voici le code de la classe request-scoped AccueilView qui a comme variable d'instance la variable SuggestionOeuvreView.
Pour info j'utilise JSF 1.2, Tomcat 6.0.18, Spring 2.5.5, Spring Java Config.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @Autowired @ScopedProxy public void setSuggestionOeuvreView(SuggestionOeuvreView suggestionOeuvreView) { log.debug("setSuggestionOeuvreView"); this.suggestionOeuvreView = suggestionOeuvreView; }
Quelqu'un peut-il m'aider svp?
Merci d'avance,
Julien.
Partager