[jboss-jira] [JBoss JIRA] (WFLY-5197) Intermittent javax.ejb.EJBException: Do not call non-public methods on EJB's

Tomas Remes (JIRA) issues at jboss.org
Tue Aug 25 06:04:31 EDT 2015


     [ https://issues.jboss.org/browse/WFLY-5197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tomas Remes updated WFLY-5197:
------------------------------
    Component/s: CDI / Weld


> 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
>
> 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
(v6.3.15#6346)


More information about the jboss-jira mailing list