diff --git a/impl/src/main/java/org/jboss/weld/injection/Exceptions.java b/impl/src/main/java/org/jboss/weld/injection/Exceptions.java index dc7f6562f2..8670d6b6ba 100644 --- a/impl/src/main/java/org/jboss/weld/injection/Exceptions.java +++ b/impl/src/main/java/org/jboss/weld/injection/Exceptions.java @@ -89,5 +89,5 @@ public static void rethrowException(NoSuchMethodException e, Class extends AbstractGenericReflectionAction implements PrivilegedExceptionAction { @@ -29,7 +30,7 @@ public NewInstanceAction(Class javaClass) { } @Override - public T run() throws InstantiationException, IllegalAccessException { - return javaClass.newInstance(); + public T run() throws InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException { + return javaClass.getDeclaredConstructor().newInstance(); } } diff --git a/modules/web/src/main/java/org/jboss/weld/module/web/context/beanstore/http/LazySessionBeanStore.java b/modules/web/src/main/java/org/jboss/weld/module/web/context/beanstore/http/LazySessionBeanStore.java index 13ac3e3950..438b41d7d4 100644 --- a/modules/web/src/main/java/org/jboss/weld/module/web/context/beanstore/http/LazySessionBeanStore.java +++ b/modules/web/src/main/java/org/jboss/weld/module/web/context/beanstore/http/LazySessionBeanStore.java @@ -85,10 +85,10 @@ protected HttpSession getSession(boolean create) { try { return SessionHolder.getSession(request, create); } catch (IllegalStateException e) { - // If container can't create an underlying session, invalidate the - // current one + // If container can't create an underlying session, invalidate the current one detach(); - return null; + // re-throw the exception to properly show cause and message + throw e; } }