[webbeans-issues] [JBoss JIRA] Commented: (WBRI-208) Producer fields don't work on EJBs

Pete Muir (JIRA) jira-events at lists.jboss.org
Thu Mar 26 10:31:22 EDT 2009


    [ https://jira.jboss.org/jira/browse/WBRI-208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12459210#action_12459210 ] 

Pete Muir commented on WBRI-208:
--------------------------------

I'm not entirely sure how to fix this, except with a SPI, as we never have access to a EJB instance...

> Producer fields don't work on EJBs
> ----------------------------------
>
>                 Key: WBRI-208
>                 URL: https://jira.jboss.org/jira/browse/WBRI-208
>             Project: Web Beans
>          Issue Type: Bug
>          Components: Enterprise Beans, Producer beans
>    Affects Versions: 1.0.0.BETA1
>            Reporter: Shane Bryzak
>             Fix For: 1.0.0.PREVIEW
>
>
> A symptom of this is that a producer field on session bean throws an IllegalArgumentException. See the following two tests in  org.jboss.jsr299.tck.tests.implementation.producer.field.definition.enterprise.EnterpriseProducerFieldDefinitionTest to reproduce:
> testNonStaticProducerFieldNotInherited()
> testNonStaticProducerFieldNotIndirectlyInherited()
> The test is throwing the following exception - it seems that ProducerFieldBean.produceInstance() is trying to use the session bean's local interface to set the field value.  On a side note, the exception message produced by Reflections.getAndWrap() could probably be improved.
> FAILED: testNonStaticProducerFieldNotInherited
> javax.inject.ExecutionException: Error getting field egg on class org.jboss.jsr299.tck.tests.implementation.producer.field.definition.enterprise.Chicken
> 	at org.jboss.webbeans.util.Reflections.getAndWrap(Reflections.java:460)
> 	at org.jboss.webbeans.introspector.jlr.AnnotatedFieldImpl.get(AnnotatedFieldImpl.java:93)
> 	at org.jboss.webbeans.bean.ProducerFieldBean.produceInstance(ProducerFieldBean.java:83)
> 	at org.jboss.webbeans.bean.AbstractProducerBean.create(AbstractProducerBean.java:337)
> 	at org.jboss.webbeans.context.DependentContext.get(DependentContext.java:78)
> 	at org.jboss.webbeans.ManagerImpl.getInstance(ManagerImpl.java:663)
> 	at org.jboss.webbeans.ManagerImpl.getInstance(ManagerImpl.java:626)
> 	at org.jboss.webbeans.ManagerImpl.getInstance(ManagerImpl.java:619)
> 	at org.jboss.webbeans.ManagerImpl.getInstanceByType(ManagerImpl.java:788)
> 	at org.jboss.webbeans.ManagerImpl.getInstanceByType(ManagerImpl.java:756)
> 	at org.jboss.jsr299.tck.tests.implementation.producer.field.definition.enterprise.EnterpriseProducerFieldDefinitionTest.testNonStaticProducerFieldNotInherited(EnterpriseProducerFieldDefinitionTest.java:28)
> 	at org.jboss.testharness.AbstractTest.run(AbstractTest.java:238)
> 	at org.jboss.testharness.impl.runner.TestRunner.run(TestRunner.java:61)
> 	at org.jboss.testharness.impl.runner.servlet.ServletTestRunner.doGet(ServletTestRunner.java:92)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.webbeans.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:112)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
> 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
> 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.IllegalArgumentException: Can not set org.jboss.jsr299.tck.tests.implementation.producer.field.definition.enterprise.Egg field org.jboss.jsr299.tck.tests.implementation.producer.field.definition.enterprise.Chicken.egg to org.jboss.jsr299.tck.tests.implementation.producer.field.definition.enterprise.ChickenLocal_$$_javassist_51
> 	at org.jboss.webbeans.util.Reflections.getAndWrap(Reflections.java:456)
> 	... 64 more
> ... Removed 31 stack frames

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the weld-issues mailing list