Көктем қосымшасының мәтінмәнін жабу

Мен жаңа Spring ApplicationContext құрған кезде, мысалы арқылы

final ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfiguration.class);

Eclipse (STS 3.2.0) оны әлеуетті ресурс ағымы ретінде белгілейді, оны ешқашан жабық деп шағымданады ('Ресурс ағымы:' ac 'ешқашан жабылмайды).

Әзірше бәрі жақсы. Содан кейін мәселені қарауға тырыстым және close() немесе shutdown() немесе ұқсас әдісті таба алмадым, ол тіпті ApplicationContext . Бұл Eclipse ескертуі күл-талқан болып, дизайны бар ма немесе мен бірдеңе жетіспеймін бе?

4
қосылды автор Raedwald, көзі
қосылды автор Raedwald, көзі

9 жауаптар

close() әдісін анықтайтын applicationContext ретінде ac деп жариялаңыз. Оның орнына close() ұсынатын Closeable (мысалы, ConfigurableApplicationContext ) кеңейтетін AnnotationConfigApplicationContext әдіс сізге барлық ресурстарды босату керек.

5
қосылды

close() әдісін анықтайтын applicationContext ретінде ac деп жариялаңыз. Оның орнына close() ұсынатын Closeable (мысалы, ConfigurableApplicationContext ) кеңейтетін AnnotationConfigApplicationContext әдіс сізге барлық ресурстарды босату керек.

5
қосылды

close() әдісін анықтайтын applicationContext ретінде ac деп жариялаңыз. Оның орнына close() ұсынатын Closeable (мысалы, ConfigurableApplicationContext ) кеңейтетін AnnotationConfigApplicationContext әдіс сізге барлық ресурстарды босату керек.

5
қосылды

Егер сіз Java 7-ді қолдансаңыз, Сізге жұмыс істеу үшін, тәжірибе-ресурстармен бірге қолданыңыз

try (AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(...))
{
  ...
}
5
қосылды

Егер сіз Java 7-ді қолдансаңыз, Сізге жұмыс істеу үшін, тәжірибе-ресурстармен бірге қолданыңыз

try (AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(...))
{
  ...
}
5
қосылды

Иә, applicationContext интерфейсінде close() әдісі жоқ, бірақ еншілес сыныптар AbstractApplicationContext және GenericApplicationContext жабыңыз() және destroy() . Сондықтан оларды орнына пайдалануды ұсынамын. Сонымен қатар, registerShutdownHook() пайдалы әдісі бар.

4
қосылды

Иә, applicationContext интерфейсінде close() әдісі жоқ, бірақ еншілес сыныптар AbstractApplicationContext және GenericApplicationContext жабыңыз() және destroy() . Сондықтан оларды орнына пайдалануды ұсынамын. Сонымен қатар, registerShutdownHook() пайдалы әдісі бар.

4
қосылды

Иә, applicationContext интерфейсінде close() әдісі жоқ, бірақ еншілес сыныптар AbstractApplicationContext және GenericApplicationContext жабыңыз() және destroy() . Сондықтан оларды орнына пайдалануды ұсынамын. Сонымен қатар, registerShutdownHook() пайдалы әдісі бар.

4
қосылды

ApplicationContext қолданбасын close() әдісін анықтайтын ConfigurableApplicationContext-ке жіберіңіз:

((ConfigurableApplicationContext) appCtx) .close ();

see https://stackoverflow.com/a/14424009/466363

0
қосылды