You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by Matthias Wessendorf <ma...@apache.org> on 2010/04/25 21:07:37 UTC

@EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

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

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Matthias Wessendorf <ma...@apache.org>.
BTW... of course, I added the 299/330 APIs as "provided" to the "jsf"
example's pom.xml file ;-)

-M

On Mon, Apr 26, 2010 at 10:38 PM, Matthias Wessendorf <ma...@apache.org> wrote:
> 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 <ma...@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
>> <cg...@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 <ma...@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
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Matthias Wessendorf <ma...@apache.org>.
Hi Jean-Louis,

I tried the JSF example from OpenEJB, with my MyFAces2 patch.
Now I am able to use @Named/RequestScoped and @Inject for a @Local SessionBean.
Great!! Also (as before) "vanilla" injection, via @Inject works fine!

Thanks a lot.

However, the installer-view is still broken ;-)
https://issues.apache.org/jira/browse/OPENEJB-1261
(reverting rev:
http://svn.apache.org/viewvc?diff_format=h&view=revision&revision=912402
makes it work)

But the WAR should be enough for me right now ;-)

Thx,
Matthias


On Wed, Apr 28, 2010 at 3:01 PM, Jean-Louis MONTEIRO <je...@gmail.com> wrote:
> Hey Matthias,
>
> 2010/4/28 Matthias Wessendorf <ma...@apache.org>:
>> I don't mind trying your openejb.war file (yeah I prefer openJPA :) ).
>
> Can you give it a try with http://people.apache.org/~jlmonteiro/openejb.war
> It uses OpenJPA 2.0.0
>
> I gonna be out until next Monday.
> But i'll try to have a look to my mails. If you have any problems, ping me.
>
> JLouis
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Jean-Louis MONTEIRO <je...@gmail.com>.
Hey Matthias,

2010/4/28 Matthias Wessendorf <ma...@apache.org>:
> I don't mind trying your openejb.war file (yeah I prefer openJPA :) ).

Can you give it a try with http://people.apache.org/~jlmonteiro/openejb.war
It uses OpenJPA 2.0.0

I gonna be out until next Monday.
But i'll try to have a look to my mails. If you have any problems, ping me.

JLouis

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Matthias Wessendorf <ma...@apache.org>.
Hello

On Tue, Apr 27, 2010 at 11:29 PM, Jean-Louis MONTEIRO
<je...@gmail.com> wrote:
> Matthias,
>
> Not sure you got my short message on Twitter.
> Anyway, the whole stuff is now working on my simple example.

that's great

>
> I gonna try to deploy a more complex application using stateless,
> stateful, CDI managed beans, JSF 2, ...
> Actually, it seems to me i don't get the same stateful reference in my
> @ConversationScope bean, leading to some unpredictable behaviors.
>
> BTW, i have a set of pending changes in OpenEJB (JPA 2.0 support,
> DynamicDataSource, Gurkan's patch, hibernate profile activated). So i
> can push an OpenEJB webapp (with OpenJPA if you prefer) to my
> people.apache.org. Even if it's development binaries, you can give it
> a try.

I don't mind trying your openejb.war file (yeah I prefer openJPA :) ).
I also don't mind applying the patch locally on my machine.

>
> Then, according to the community, i can commit Gurkan's patch and fix
> the small issue.

+1

-Matthias

>
> WDYT?
>
> Jean-Louis
>
>
>
> 2010/4/27 Matthias Wessendorf <ma...@apache.org>:
>> w00t! great news guys!
>>
>> @JEan-Louis: Can you commit the bits, or share the "new" diff to trunk
>> in a patch ?
>>
>> Thanks!
>> Matthias
>>
>> On Tue, Apr 27, 2010 at 5:59 PM, Gurkan Erdogdu <gu...@yahoo.com> wrote:
>>> Great work!
>>>
>>> One thing is that my patch may not be correct in some regard, because I did not do so much testing :)
>>>
>>> Thanks;
>>>
>>>
>>> --Gurkan
>>>
>>>
>>> ________________________________
>>> From: Jean-Louis MONTEIRO <je...@gmail.com>
>>> To: dev@openwebbeans.apache.org
>>> Sent: Tue, April 27, 2010 6:34:45 PM
>>> Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch
>>>
>>> Hey guys,
>>>
>>> I finally got it working with a JSF 2 sample using OpenEJB,
>>> OpenWebBeans, MyFaces, and Hibernate (JPA 2).
>>>
>>> My sample runs fine but a far more simple example doesn't work.
>>> It's just a simple example involving a servlet with a @EJB.
>>> The stacktrace is available here http://pastebin.com/Y2LUszsM
>>>
>>> I seems that Gurkan's patch is breaking something. I need to check it
>>> again, but i'm quite sure it worked before.
>>>
>>> Any idea?
>>>
>>> Jean-Louis
>>>
>>>
>>> 2010/4/27 Matthias Wessendorf <ma...@apache.org>:
>>>> I see, but that shouldn't make a big difference :-)
>>>>
>>>> The important part is the same:
>>>> -OpenEJB trunk(3.1.3-SNAP) + your patch :-)
>>>>
>>>> So I filed OWB-362 to not forget about it.
>>>>
>>>> -Matthias
>>>>
>>>>
>>>> On Tue, Apr 27, 2010 at 7:28 AM, Gurkan Erdogdu <gu...@yahoo.com> wrote:
>>>>> Matthias;
>>>>>
>>>>> I used Tomcat 6.0.26 and OpenEJB 3.1.3-SNAPSHOT.
>>>>>
>>>>> Thanks;
>>>>>
>>>>>
>>>>> --Gurkan
>>>>>
>>>>>
>>>>> ________________________________
>>>>> From: Matthias Wessendorf <ma...@apache.org>
>>>>> To: dev@openwebbeans.apache.org
>>>>> Sent: Mon, April 26, 2010 11:38:25 PM
>>>>> Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch
>>>>>
>>>>> 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 <ma...@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
>>>>>> <cg...@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 <ma...@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
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Jean-Louis MONTEIRO <je...@gmail.com>.
Matthias,

Not sure you got my short message on Twitter.
Anyway, the whole stuff is now working on my simple example.

I gonna try to deploy a more complex application using stateless,
stateful, CDI managed beans, JSF 2, ...
Actually, it seems to me i don't get the same stateful reference in my
@ConversationScope bean, leading to some unpredictable behaviors.

BTW, i have a set of pending changes in OpenEJB (JPA 2.0 support,
DynamicDataSource, Gurkan's patch, hibernate profile activated). So i
can push an OpenEJB webapp (with OpenJPA if you prefer) to my
people.apache.org. Even if it's development binaries, you can give it
a try.

Then, according to the community, i can commit Gurkan's patch and fix
the small issue.

WDYT?

Jean-Louis



2010/4/27 Matthias Wessendorf <ma...@apache.org>:
> w00t! great news guys!
>
> @JEan-Louis: Can you commit the bits, or share the "new" diff to trunk
> in a patch ?
>
> Thanks!
> Matthias
>
> On Tue, Apr 27, 2010 at 5:59 PM, Gurkan Erdogdu <gu...@yahoo.com> wrote:
>> Great work!
>>
>> One thing is that my patch may not be correct in some regard, because I did not do so much testing :)
>>
>> Thanks;
>>
>>
>> --Gurkan
>>
>>
>> ________________________________
>> From: Jean-Louis MONTEIRO <je...@gmail.com>
>> To: dev@openwebbeans.apache.org
>> Sent: Tue, April 27, 2010 6:34:45 PM
>> Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch
>>
>> Hey guys,
>>
>> I finally got it working with a JSF 2 sample using OpenEJB,
>> OpenWebBeans, MyFaces, and Hibernate (JPA 2).
>>
>> My sample runs fine but a far more simple example doesn't work.
>> It's just a simple example involving a servlet with a @EJB.
>> The stacktrace is available here http://pastebin.com/Y2LUszsM
>>
>> I seems that Gurkan's patch is breaking something. I need to check it
>> again, but i'm quite sure it worked before.
>>
>> Any idea?
>>
>> Jean-Louis
>>
>>
>> 2010/4/27 Matthias Wessendorf <ma...@apache.org>:
>>> I see, but that shouldn't make a big difference :-)
>>>
>>> The important part is the same:
>>> -OpenEJB trunk(3.1.3-SNAP) + your patch :-)
>>>
>>> So I filed OWB-362 to not forget about it.
>>>
>>> -Matthias
>>>
>>>
>>> On Tue, Apr 27, 2010 at 7:28 AM, Gurkan Erdogdu <gu...@yahoo.com> wrote:
>>>> Matthias;
>>>>
>>>> I used Tomcat 6.0.26 and OpenEJB 3.1.3-SNAPSHOT.
>>>>
>>>> Thanks;
>>>>
>>>>
>>>> --Gurkan
>>>>
>>>>
>>>> ________________________________
>>>> From: Matthias Wessendorf <ma...@apache.org>
>>>> To: dev@openwebbeans.apache.org
>>>> Sent: Mon, April 26, 2010 11:38:25 PM
>>>> Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch
>>>>
>>>> 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 <ma...@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
>>>>> <cg...@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 <ma...@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
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> 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
>

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Matthias Wessendorf <ma...@apache.org>.
w00t! great news guys!

@JEan-Louis: Can you commit the bits, or share the "new" diff to trunk
in a patch ?

Thanks!
Matthias

On Tue, Apr 27, 2010 at 5:59 PM, Gurkan Erdogdu <gu...@yahoo.com> wrote:
> Great work!
>
> One thing is that my patch may not be correct in some regard, because I did not do so much testing :)
>
> Thanks;
>
>
> --Gurkan
>
>
> ________________________________
> From: Jean-Louis MONTEIRO <je...@gmail.com>
> To: dev@openwebbeans.apache.org
> Sent: Tue, April 27, 2010 6:34:45 PM
> Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch
>
> Hey guys,
>
> I finally got it working with a JSF 2 sample using OpenEJB,
> OpenWebBeans, MyFaces, and Hibernate (JPA 2).
>
> My sample runs fine but a far more simple example doesn't work.
> It's just a simple example involving a servlet with a @EJB.
> The stacktrace is available here http://pastebin.com/Y2LUszsM
>
> I seems that Gurkan's patch is breaking something. I need to check it
> again, but i'm quite sure it worked before.
>
> Any idea?
>
> Jean-Louis
>
>
> 2010/4/27 Matthias Wessendorf <ma...@apache.org>:
>> I see, but that shouldn't make a big difference :-)
>>
>> The important part is the same:
>> -OpenEJB trunk(3.1.3-SNAP) + your patch :-)
>>
>> So I filed OWB-362 to not forget about it.
>>
>> -Matthias
>>
>>
>> On Tue, Apr 27, 2010 at 7:28 AM, Gurkan Erdogdu <gu...@yahoo.com> wrote:
>>> Matthias;
>>>
>>> I used Tomcat 6.0.26 and OpenEJB 3.1.3-SNAPSHOT.
>>>
>>> Thanks;
>>>
>>>
>>> --Gurkan
>>>
>>>
>>> ________________________________
>>> From: Matthias Wessendorf <ma...@apache.org>
>>> To: dev@openwebbeans.apache.org
>>> Sent: Mon, April 26, 2010 11:38:25 PM
>>> Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch
>>>
>>> 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 <ma...@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
>>>> <cg...@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 <ma...@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
>>>
>>>
>>>
>>
>>
>>
>> --
>> 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

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Gurkan Erdogdu <gu...@yahoo.com>.
Great work! 

One thing is that my patch may not be correct in some regard, because I did not do so much testing :)

Thanks;


--Gurkan


________________________________
From: Jean-Louis MONTEIRO <je...@gmail.com>
To: dev@openwebbeans.apache.org
Sent: Tue, April 27, 2010 6:34:45 PM
Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Hey guys,

I finally got it working with a JSF 2 sample using OpenEJB,
OpenWebBeans, MyFaces, and Hibernate (JPA 2).

My sample runs fine but a far more simple example doesn't work.
It's just a simple example involving a servlet with a @EJB.
The stacktrace is available here http://pastebin.com/Y2LUszsM

I seems that Gurkan's patch is breaking something. I need to check it
again, but i'm quite sure it worked before.

Any idea?

Jean-Louis


2010/4/27 Matthias Wessendorf <ma...@apache.org>:
> I see, but that shouldn't make a big difference :-)
>
> The important part is the same:
> -OpenEJB trunk(3.1.3-SNAP) + your patch :-)
>
> So I filed OWB-362 to not forget about it.
>
> -Matthias
>
>
> On Tue, Apr 27, 2010 at 7:28 AM, Gurkan Erdogdu <gu...@yahoo.com> wrote:
>> Matthias;
>>
>> I used Tomcat 6.0.26 and OpenEJB 3.1.3-SNAPSHOT.
>>
>> Thanks;
>>
>>
>> --Gurkan
>>
>>
>> ________________________________
>> From: Matthias Wessendorf <ma...@apache.org>
>> To: dev@openwebbeans.apache.org
>> Sent: Mon, April 26, 2010 11:38:25 PM
>> Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch
>>
>> 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 <ma...@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
>>> <cg...@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 <ma...@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
>>
>>
>>
>
>
>
> --
> Matthias Wessendorf
>
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf
>



Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Jean-Louis MONTEIRO <je...@gmail.com>.
Hey guys,

I finally got it working with a JSF 2 sample using OpenEJB,
OpenWebBeans, MyFaces, and Hibernate (JPA 2).

My sample runs fine but a far more simple example doesn't work.
It's just a simple example involving a servlet with a @EJB.
The stacktrace is available here http://pastebin.com/Y2LUszsM

I seems that Gurkan's patch is breaking something. I need to check it
again, but i'm quite sure it worked before.

Any idea?

Jean-Louis


2010/4/27 Matthias Wessendorf <ma...@apache.org>:
> I see, but that shouldn't make a big difference :-)
>
> The important part is the same:
> -OpenEJB trunk(3.1.3-SNAP) + your patch :-)
>
> So I filed OWB-362 to not forget about it.
>
> -Matthias
>
>
> On Tue, Apr 27, 2010 at 7:28 AM, Gurkan Erdogdu <gu...@yahoo.com> wrote:
>> Matthias;
>>
>> I used Tomcat 6.0.26 and OpenEJB 3.1.3-SNAPSHOT.
>>
>> Thanks;
>>
>>
>> --Gurkan
>>
>>
>> ________________________________
>> From: Matthias Wessendorf <ma...@apache.org>
>> To: dev@openwebbeans.apache.org
>> Sent: Mon, April 26, 2010 11:38:25 PM
>> Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch
>>
>> 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 <ma...@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
>>> <cg...@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 <ma...@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
>>
>>
>>
>
>
>
> --
> Matthias Wessendorf
>
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf
>

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Matthias Wessendorf <ma...@apache.org>.
I see, but that shouldn't make a big difference :-)

The important part is the same:
-OpenEJB trunk(3.1.3-SNAP) + your patch :-)

So I filed OWB-362 to not forget about it.

-Matthias


On Tue, Apr 27, 2010 at 7:28 AM, Gurkan Erdogdu <gu...@yahoo.com> wrote:
> Matthias;
>
> I used Tomcat 6.0.26 and OpenEJB 3.1.3-SNAPSHOT.
>
> Thanks;
>
>
> --Gurkan
>
>
> ________________________________
> From: Matthias Wessendorf <ma...@apache.org>
> To: dev@openwebbeans.apache.org
> Sent: Mon, April 26, 2010 11:38:25 PM
> Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch
>
> 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 <ma...@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
>> <cg...@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 <ma...@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
>
>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Gurkan Erdogdu <gu...@yahoo.com>.
Matthias;

I used Tomcat 6.0.26 and OpenEJB 3.1.3-SNAPSHOT.

Thanks;


--Gurkan


________________________________
From: Matthias Wessendorf <ma...@apache.org>
To: dev@openwebbeans.apache.org
Sent: Mon, April 26, 2010 11:38:25 PM
Subject: Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

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 <ma...@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
> <cg...@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 <ma...@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



Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Matthias Wessendorf <ma...@apache.org>.
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 <ma...@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
> <cg...@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 <ma...@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

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Matthias Wessendorf <ma...@apache.org>.
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
<cg...@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 <ma...@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

Re: @EJB in Tomcat 6.0.14 and Gurkan's OWB/OEJB patch

Posted by Gurkan Erdogdu <cg...@gmail.com>.
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 <ma...@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