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

Reply via email to