se c'è più di un contesto dire se si sta usando mvc molla si può usare qualcosa di più potente come questo.
public class SampleContextApplicationListener implements ApplicationListener<ApplicationContextEvent> {
private Map<String,ApplicationContext> contextMap = new Hashtable<String,ApplicationContext>();
@Override
public void onApplicationEvent(ApplicationContextEvent event) {
if(event instanceof ContextStartedEvent || event instanceof ContextRefreshedEvent){
this.getContextMap().put(event.getApplicationContext().getDisplayName(), event.getApplicationContext());
}
}
public Map<String,ApplicationContext> getContextMap() {
return contextMap;
}
}
È quindi possibile iniettare l'ascoltatore dove è necessario, ed estrarre la mappa di contextens e poi interogate per tutta la sua fagioli, utilizzando il getBeanDefinitionNames()
@Autowired
private StatusTestsApplicationListener listener;
sospettavo che sarebbe stato facile, off per dare una prova e GRAZIE! –
Questo è stato utile per i test di chi ne ha bisogno: '@' Autowired ApplicationContext applicationContext; '@' Test public void testContext() { String [] beans = applicationContext.getBeanDefinitionNames(); per (stringa b: bean) { System.out.println ("***" + b); } } –