@@ -56,13 +56,23 @@ static Context createEager(String name, Set<BeanHolder<?>> beanHolders, Set<Bean
5656        Map <BeanDescriptor <?>, List <BeanHolder <?>>> holders  = ContextResolver .resolve (beanHolders , properties );
5757        Context  context  = new  Context (name , holders , properties , eventBus );
5858        context .init (initBeanHolders );
59-         holders .forEach ((descriptor , creator ) -> {
60-             if  (descriptor .name () != null ) {
61-                 context .get (descriptor .type (), descriptor .name ());
62-             } else  {
63-                 context .getAll (descriptor .type ());
59+         try  {
60+             holders .forEach ((descriptor , creator ) -> {
61+                 if  (descriptor .name () != null ) {
62+                     context .get (descriptor .type (), descriptor .name ());
63+                 } else  if  (descriptor .type () != Object .class ) {
64+                     // Object is too generic, can be skipped for more readable exceptions 
65+                     context .getAll (descriptor .type ());
66+                 }
67+             });
68+         } catch  (Throwable  exception ) {
69+             try  {
70+                 context .close ();
71+             } catch  (Throwable  closeException ) {
72+                 log .warn ("Could not close context" , closeException );
6473            }
65-         });
74+             throw  exception ;
75+         }
6676        log .info ("Created eager context in {}" , totalTimer .measureAndFormat ());
6777        eventBus .emit (new  ContextEvent .ContextPostCreateEvent ());
6878        return  context ;
0 commit comments