I removed the annotation @LocalBean. It is indeed optional, but not enough reason to be the cause of such exception. Now, I have to spend sometime using the application to see if the problem happens again :) Thanks for the feedback.
On 28 Nov 2013, at 16:37, Thiago Veronezi <[email protected]> wrote: > Did you try it without the "@LocalBean" annotation? > > Something like... > > . > . > . > > @Stateless > public class ApplicationBean extends AbstractBean<Application> { > > . > . > . > > []s, > Thiago. > > > > > > On Thu, Nov 28, 2013 at 10:25 AM, Hildeberto Mendonça Filho < > [email protected]> wrote: > >> Hello, >> >> I'm using TomEE+ 1.5.2 and from times to times an exception occurs with >> one of my EJBs: >> >> java.lang.IllegalArgumentException: com.hildeberto.architect. >> system.business.ApplicationBean is not an interface >> >> Indeed, it is not an interface, but a Stateless EJB anotated with >> @LocalBean to avoid the need for interfaces. Unfortunately, it is >> impossible to predict when it occurs. The entire stacktrace is the >> following: >> >> nov. 28, 2013 4:12:10 PM org.apache.catalina.core.StandardWrapperValve >> invoke >> Grave: Servlet.service() for servlet [Faces Servlet] in context with path >> [/architect] threw exception >> [com.hildeberto.architect.system.business.ApplicationBean >> is not an interface] with root cause >> java.lang.IllegalArgumentException: com.hildeberto.architect. >> system.business.ApplicationBean is not an interface >> at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:496) >> at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:722) >> at org.apache.openejb.client.proxy.Jdk13ProxyFactory.newProxyInstance( >> Jdk13ProxyFactory.java:127) >> at org.apache.openejb.client.proxy.ProxyManager. >> newProxyInstance(ProxyManager.java:109) >> at org.apache.openejb.client.EJBObjectHandler.createEJBObjectProxy( >> EJBObjectHandler.java:197) >> at org.apache.openejb.server.ejbd.ClientObjectFactory. >> getBusinessObject(ClientObjectFactory.java:161) >> at org.apache.openejb.server.ejbd.EjbDaemon. >> getBusinessObject(EjbDaemon.java:300) >> at org.apache.openejb.core.ivm.EjbObjectProxyHandler._writeReplace( >> EjbObjectProxyHandler.java:216) >> at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke( >> BaseEjbProxyHandler.java:233) >> at com.hildeberto.architect.system.business.ApplicationBean$ >> LocalBeanProxy.writeReplace(com/hildeberto/architect/system/business/ >> ApplicationBean.java) >> at sun.reflect.GeneratedMethodAccessor177.invoke(Unknown Source) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at java.io.ObjectStreamClass.invokeWriteReplace( >> ObjectStreamClass.java:1075) >> at java.io.ObjectOutputStream.writeObject0( >> ObjectOutputStream.java:1132) >> at java.io.ObjectOutputStream.defaultWriteFields( >> ObjectOutputStream.java:1541) >> at java.io.ObjectOutputStream.writeSerialData( >> ObjectOutputStream.java:1506) >> at java.io.ObjectOutputStream.writeOrdinaryObject( >> ObjectOutputStream.java:1429) >> at java.io.ObjectOutputStream.writeObject0( >> ObjectOutputStream.java:1175) >> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) >> at java.util.HashMap.writeObject(HashMap.java:1133) >> at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at java.io.ObjectStreamClass.invokeWriteObject( >> ObjectStreamClass.java:988) >> at java.io.ObjectOutputStream.writeSerialData( >> ObjectOutputStream.java:1493) >> at java.io.ObjectOutputStream.writeOrdinaryObject( >> ObjectOutputStream.java:1429) >> at java.io.ObjectOutputStream.writeObject0( >> ObjectOutputStream.java:1175) >> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1375) >> at java.io.ObjectOutputStream.writeObject0( >> ObjectOutputStream.java:1171) >> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) >> at java.util.HashMap.writeObject(HashMap.java:1133) >> at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at java.io.ObjectStreamClass.invokeWriteObject( >> ObjectStreamClass.java:988) >> at java.io.ObjectOutputStream.writeSerialData( >> ObjectOutputStream.java:1493) >> at java.io.ObjectOutputStream.writeOrdinaryObject( >> ObjectOutputStream.java:1429) >> at java.io.ObjectOutputStream.writeObject0( >> ObjectOutputStream.java:1175) >> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1375) >> at java.io.ObjectOutputStream.writeObject0( >> ObjectOutputStream.java:1171) >> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1375) >> at java.io.ObjectOutputStream.writeObject0( >> ObjectOutputStream.java:1171) >> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) >> at org.apache.myfaces.shared.util.StateUtils. >> getAsByteArray(StateUtils.java:292) >> at org.apache.myfaces.shared.util.StateUtils.construct( >> StateUtils.java:248) >> at org.apache.myfaces.renderkit.html.HtmlResponseStateManager. >> writeViewStateField(HtmlResponseStateManager.java:157) >> at org.apache.myfaces.renderkit.html.HtmlResponseStateManager. >> writeState(HtmlResponseStateManager.java:135) >> at org.apache.myfaces.application.StateManagerImpl. >> writeState(StateManagerImpl.java:360) >> at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage >> .renderView(FaceletViewDeclarationLanguage.java:2022) >> at org.apache.myfaces.application.ViewHandlerImpl. >> renderView(ViewHandlerImpl.java:285) >> at javax.faces.application.ViewHandlerWrapper.renderView( >> ViewHandlerWrapper.java:59) >> at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute( >> RenderResponseExecutor.java:116) >> at org.apache.myfaces.lifecycle.LifecycleImpl.render( >> LifecycleImpl.java:241) >> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( >> ApplicationFilterChain.java:305) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter( >> ApplicationFilterChain.java:210) >> at org.apache.catalina.core.StandardWrapperValve.invoke( >> StandardWrapperValve.java:222) >> at org.apache.catalina.core.StandardContextValve.invoke( >> StandardContextValve.java:123) >> at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) >> at org.apache.catalina.authenticator.AuthenticatorBase.invoke( >> AuthenticatorBase.java:472) >> at org.apache.catalina.core.StandardHostValve.invoke( >> StandardHostValve.java:171) >> at org.apache.catalina.valves.ErrorReportValve.invoke( >> ErrorReportValve.java:99) >> at org.apache.catalina.valves.AccessLogValve.invoke( >> AccessLogValve.java:936) >> at org.apache.catalina.core.StandardEngineValve.invoke( >> StandardEngineValve.java:118) >> at org.apache.catalina.connector.CoyoteAdapter.service( >> CoyoteAdapter.java:407) >> at org.apache.coyote.http11.AbstractHttp11Processor.process( >> AbstractHttp11Processor.java:1004) >> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler. >> process(AbstractProtocol.java:589) >> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor. >> run(JIoEndpoint.java:310) >> at java.util.concurrent.ThreadPoolExecutor.runWorker( >> ThreadPoolExecutor.java:1145) >> at java.util.concurrent.ThreadPoolExecutor$Worker.run( >> ThreadPoolExecutor.java:615) >> at java.lang.Thread.run(Thread.java:724) >> >> You can see the implementation at: https://github.com/htmfilho/ >> architect/blob/master/src/main/java/com/hildeberto/ >> architect/system/business/ApplicationBean.java >> >> Any idea how to avoid/solve this? >>
