Ich habe eine Bohne mit Anmerkung @BeanWie @PreDestroy für eine Bean nennen erklärt mit @Bean Anmerkung
erklärt@Bean
public Set<DefaultMessageListenerContainer> beans() {
Set<DefaultMessageListenerContainer> containerSet = new HashSet<DefaultMessageListenerContainer>();
return containerSet;
}
Ich habe einige Operationen durchgeführt werden, wenn ich die Bohne bin zu zerstören. Wie kann ich das erreichen?
Ich weiß, ich kann @ Predestroy Annotation auf eine Methode in einer Klasse mit @ Komponent kommentiert, aber nicht sicher, wie kann ich das tun, wenn @ Bean Annotation.
EDIT:
@Bean(destroyMethod="stopContainers")
public Set<DefaultMessageListenerContainer> containers() {
Set<DefaultMessageListenerContainer> containerSet = new HashSet<DefaultMessageListenerContainer>();
return containerSet;
}
public void stopContainers(){
Set<DefaultMessageListenerContainer> containerSet = containers();
......
}
}
Aber ich erhalte eine Fehlermeldung, kann nicht eine Methode mit dem Namen ‚stopContainers‘ auf Bean mit dem Namen ‚Container‘ finden zerstören Wie dieses Problem beheben?
'containerSet' muss umgebrochen/erweitert werden, damit' destroyMethod' angegeben werden kann. Alternativ kann die eingepackte/erweiterte Bean "DisposableBean" implementieren. –
@AndrewS Wie kann ich das tun? Verpackt/erweitert? – hars
Können Sie sich die Bearbeitung ansehen? Alex oder Andrew – hars