This issue is based on forum post which provides more in-depth description as well as a scenario that should reproduce the behaviour. In short, Weld only handles interception if method invocation goes through a contextual reference (in order for it to be business method invocation). Therefore, calls such as this.foo() shouldn't be intercepted. However, there seems to be some awkward behaviour when a method is private and final. Good starting point would be to dump the proxies created by Weld as private final methods will need to be handled differently. |