|
||||||||
|
This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira |
||||||||
_______________________________________________ weld-issues mailing list [email protected] https://lists.jboss.org/mailman/listinfo/weld-issues

Actually, the fact that AS7 throws errors makes me think that it is probably the sane thing to do. I remember we switched to being strict with this and it broke a lot of existing application and therefore we reverted to logging warnings only. However from what I remember these cases were mostly around leaving out (or using extra where not necessary) the throws clause. Certain classes of misconfigurations should still be detected and treated as errors. For example this class could never work properly and it is clear that it is a mistake: https://github.com/luksa/weld-core/blob/9d4ff71d371f18de9dda2e849e96b3a4da77725c/tests-arquillian/src/test/java/org/jboss/weld/tests/interceptors/signature/AroundInvokeInterceptorWithInvalidParameterType.java
Therefore I would make sure that:
1) All signatures allowed by the interceptors specification work without warnings
2) Interceptor method signature, where the only divergence from the specified signature is either a missing "throws clause" or an extra "throws clause" (e.g. void <METHOD>(InvocationContext) throws Exception for a lifecycle callback) should work but a warning should be logged
3) All other combinations should be treated as a definition error.
Marko, what do you think?