[jboss-jira] [JBoss JIRA] (WFLY-5197) Intermittent javax.ejb.EJBException: Do not call non-public methods on EJB's
Kabir Khan (JIRA)
issues at jboss.org
Wed Dec 6 11:21:20 EST 2017
[ https://issues.jboss.org/browse/WFLY-5197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kabir Khan closed WFLY-5197.
----------------------------
> Intermittent javax.ejb.EJBException: Do not call non-public methods on EJB's
> ----------------------------------------------------------------------------
>
> Key: WFLY-5197
> URL: https://issues.jboss.org/browse/WFLY-5197
> Project: WildFly
> Issue Type: Bug
> Components: CDI / Weld, EJB
> Affects Versions: 10.0.0.Beta2
> Reporter: Tomas Remes
> Assignee: Stuart Douglas
> Fix For: 10.0.0.CR1
>
>
> It's intermittently failing in CDI TCK in org.jboss.cdi.tck.interceptors.tests.contract.lifecycleCallback.LifecycleCallbackInterceptorTest. There is:
> {code}
> @Stateful
> @Interceptors(CatInterceptor.class)
> public class Cat extends Animal {
> ...
> @Override
> public void foo() {
> }
> ...
> }
> {code}
> and:
> {code}
> public abstract class Animal {
>
> ...
> void foo() {
> }
> ....
> }
> {code}
> There is check in {{org.jboss.as.ejb3.component.session.SessionBeanComponentDescription#addNoInterfaceView}} whether method is public. This check is sometimes called for {{Animal.foo()}} and sometimes for {{Cat.foo()}}. I think only {{Cat.foo()}} should be checked.
> Stacktrace is:
> {noformat}
> javax.ejb.EJBException: WFLYEJB0224: Not a business method void org.jboss.cdi.tck.interceptors.tests.contract.lifecycleCallback.Animal.foo(). Do not call non-public methods on EJB's
> at org.jboss.as.ejb3.component.session.NotBusinessMethodInterceptor.processInvocation(NotBusinessMethodInterceptor.java:43)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)
> at org.jboss.cdi.tck.interceptors.tests.contract.lifecycleCallback.Cat$$$view2.foo(Unknown Source)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:436)
> at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:127)
> at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
> at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
> at org.jboss.cdi.tck.interceptors.tests.contract.lifecycleCallback.Cat$Proxy$_$$_Weld$EnterpriseProxy$.foo(Unknown Source)
> at org.jboss.cdi.tck.interceptors.tests.contract.lifecycleCallback.LifecycleCallbackInterceptorTest.createAndDestroyInstance(LifecycleCallbackInterceptorTest.java:87)
> at org.jboss.cdi.tck.interceptors.tests.contract.lifecycleCallback.LifecycleCallbackInterceptorTest.testLifecycleCallbackInterceptorTransactionContext(LifecycleCallbackInterceptorTest.java:137)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list