Hi, I just tried that again (fresh 6.014 TC installation + the patches from Gurkan on OpenEJB trunk). I simply want to deploy the the "jsf" example from OpenEJB (the 299/330 APIs I marked as "provided"), after I apply this patch: https://issues.apache.org/jira/browse/OPENEJB-1264
* Behavior: -case: JSF/EJB @ManagedBean/@RequestScoped (the JSF one) work fine with @EJB -case: 299/330 and EJB The @Named and CDI's @RequestScoped work (bean look-up is fine) Also, dependency injection works fine, IF I use @Inject for any injection, other than an EJB (statefull/stateless). simple interface + implementation => OK as soon as the implementation has @Stateless, I get the below exception.. IMO it looks like some issue with the proxy (invocation). See below. Has one seen this before? @Gurkan: What was your Tomcat version that you used ? You are using trunk with V3 of this patch: https://issues.apache.org/jira/browse/OPENEJB-1257 right ? ============================================================================== SEVERE: An exception occurred javax.faces.el.EvaluationException: javax.el.ELException: /calculator.xhtml at line 39 and column 64 action="#{calculator.add}": java.lang.reflect.InvocationTargetException at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:96) at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:100) at javax.faces.component.UICommand.broadcast(UICommand.java:120) at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:890) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:234) at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1202) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:623) at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:35) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:143) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:93) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.openejb.tomcat.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: javax.el.ELException: /calculator.xhtml at line 39 and column 64 action="#{calculator.add}": java.lang.reflect.InvocationTargetException at org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:95) at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:88) ... 23 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.webbeans.ejb.common.proxy.EjbBeanProxyHandler.invoke(EjbBeanProxyHandler.java:151) at org.superbiz.jsf.Calculator_$$_javassist_16.add(Calculator_$$_javassist_16.java) at org.superbiz.jsf.CalculatorBean.add(CalculatorBean.java:58) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:265) at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:78) at org.superbiz.jsf.CalculatorBean_$$_javassist_15.add(CalculatorBean_$$_javassist_15.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.el.parser.AstValue.invoke(AstValue.java:131) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) at org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:83) ... 24 more Caused by: java.lang.NullPointerException at $Proxy62.add(Unknown Source) ... 45 more Apr 26, 2010 9:51:42 PM org.apache.webbeans.ejb.common.proxy.EjbBeanProxyHandler hashCode WARNING: Calling method on proxy is restricted except Object.toString(), but current method is Object.hashCode Apr 26, 2010 9:51:42 PM org.apache.webbeans.ejb.common.proxy.EjbBeanProxyHandler hashCode WARNING: Calling method on proxy is restricted except Object.toString(), but current method is Object.hashCode Apr 26, 2010 9:51:42 PM org.apache.webbeans.ejb.common.proxy.EjbBeanProxyHandler hashCode WARNING: Calling method on proxy is restricted except Object.toString(), but current method is Object.hashCode On Sun, Apr 25, 2010 at 10:40 PM, Matthias Wessendorf <mat...@apache.org> wrote: > good idea, but than I get: > > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.webbeans.ejb.common.proxy.EjbBeanProxyHandler.invoke(EjbBeanProxyHandler.java:151) > at > org.superbiz.jsf.Calculator_$$_javassist_15.add(Calculator_$$_javassist_15.java) > at org.superbiz.jsf.CalculatorBean.add(CalculatorBean.java:55) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:265) > at > org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:78) > at > org.superbiz.jsf.CalculatorBean_$$_javassist_14.add(CalculatorBean_$$_javassist_14.java) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.el.parser.AstValue.invoke(AstValue.java:131) > at > org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) > at > org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:83) > ... 24 more > > > On Sun, Apr 25, 2010 at 10:08 PM, Gurkan Erdogdu > <cgurkanerdo...@gmail.com> wrote: >> How you use @EJB? Instead of using @EJB, you can directly inject EJBs using >> @Inject annotation via Local interface of the EJBs. >> >> Look at http://openejb.apache.org/3.0/jndi-names.html for jndi naming. >> >> 2010/4/25 Matthias Wessendorf <mat...@apache.org> >> >>> Hi, >>> >>> I am on TC 6_0_14, combined w/ Gurkan's cool patch. When I have a CDI bean: >>> @Named("calculator") >>> @RequestScoped >>> public class CalculatorBean { >>> ... >>> } >>> >>> with an @EJB injection, I am getting this ClassCastException: >>> >>> Caused by: java.lang.ClassCastException >>> at java.lang.Class.cast(Class.java:2990) >>> at >>> org.apache.webbeans.ejb.resource.ResourceInjectionProcessor.lookupFieldResource(ResourceInjectionProcessor.java:97) >>> at >>> org.apache.webbeans.ejb.resource.ResourceInjectionProcessor.getResourceReference(ResourceInjectionProcessor.java:64) >>> at >>> org.apache.webbeans.ejb.resource.ResourceFactory.getResourceReference(ResourceFactory.java:64) >>> at >>> org.apache.webbeans.ejb.resource.OpenEjbResourceInjectionService.getResourceReference(OpenEjbResourceInjectionService.java:50) >>> at >>> org.apache.webbeans.ejb.resource.OpenEjbResourceInjectionService.injectJavaEEResources(OpenEjbResourceInjectionService.java:78) >>> at >>> org.apache.webbeans.component.AbstractInjectionTargetBean.injectResources(AbstractInjectionTargetBean.java:391) >>> at >>> org.apache.webbeans.portable.creation.InjectionTargetProducer.inject(InjectionTargetProducer.java:76) >>> at >>> org.apache.webbeans.component.InjectionTargetWrapper.inject(InjectionTargetWrapper.java:80) >>> at >>> org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:157) >>> at >>> org.apache.webbeans.context.AbstractContext.getInstance(AbstractContext.java:219) >>> at >>> org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:182) >>> at >>> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:117) >>> at >>> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:75) >>> at >>> org.superbiz.jsf.CalculatorBean_$$_javassist_5.getX(CalculatorBean_$$_javassist_5.java) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at javax.el.BeanELResolver.getValue(BeanELResolver.java:62) >>> at >>> javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) >>> at >>> org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:140) >>> at org.apache.el.parser.AstValue.getValue(AstValue.java:97) >>> at >>> org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) >>> at >>> org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:84) >>> at >>> javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:243) >>> at javax.faces.component.UIOutput.getValue(UIOutput.java:71) >>> at javax.faces.component.UIInput.getValue(UIInput.java:120) >>> at >>> org.apache.myfaces.shared_impl.renderkit.RendererUtils.getValue(RendererUtils.java:349) >>> at >>> org.apache.myfaces.shared_impl.renderkit.RendererUtils.getStringValue(RendererUtils.java:297) >>> at >>> org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.renderInput(HtmlTextRendererBase.java:149) >>> at >>> org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.encodeEnd(HtmlTextRendererBase.java:64) >>> at >>> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:486) >>> at >>> org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:527) >>> at >>> org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:296) >>> at >>> org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:131) >>> at >>> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:486) >>> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:618) >>> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:614) >>> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:614) >>> at >>> org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1117) >>> at >>> org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:231) >>> at >>> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59) >>> at >>> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:122) >>> at >>> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:207) >>> >>> >>> >>> When I comment out the @EJB all is fine. >>> >>> Has one seen this before ? >>> >>> -Matthias >>> >>> >>> >>> -- >>> Matthias Wessendorf >>> >>> blog: http://matthiaswessendorf.wordpress.com/ >>> sessions: http://www.slideshare.net/mwessendorf >>> twitter: http://twitter.com/mwessendorf >>> >> >> >> >> -- >> Gurkan Erdogdu >> http://gurkanerdogdu.blogspot.com >> > > > > -- > Matthias Wessendorf > > blog: http://matthiaswessendorf.wordpress.com/ > sessions: http://www.slideshare.net/mwessendorf > twitter: http://twitter.com/mwessendorf > -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf