You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by "Mark Struberg (Commented) (JIRA)" <ji...@apache.org> on 2011/10/01 21:14:33 UTC

[jira] [Commented] (OWB-616) javax.el.ExpressionFactory has final methods! CDI doesn't allow that. - Test on final **PRIVATE** methods too?

    [ https://issues.apache.org/jira/browse/OWB-616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13118891#comment-13118891 ] 

Mark Struberg commented on OWB-616:
-----------------------------------

I now changed the checks to allow private final and public/protected static final methods.
                
> javax.el.ExpressionFactory has final methods! CDI doesn't allow that. - Test on final **PRIVATE** methods too?
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: OWB-616
>                 URL: https://issues.apache.org/jira/browse/OWB-616
>             Project: OpenWebBeans
>          Issue Type: Bug
>          Components: Java EE Integration
>    Affects Versions: 1.0.0
>         Environment: IBM WebSphere Application Server 8.0.0
>            Reporter: Heiko Kopp
>            Assignee: Mark Struberg
>            Priority: Critical
>              Labels: features
>
> When implementing seam-solder on WAS 8.0 one gets the following exception:
> javax.el.ExpressionFactory has final methods! CDI doesn't allow that.
> 	at org.apache.webbeans.util.InjectionExceptionUtils.throwUnproxyableResolutionException(InjectionExceptionUtils.java:39)
> 	at org.apache.webbeans.util.WebBeansUtil.checkUnproxiableApiType(WebBeansUtil.java:2084)
> 	at org.apache.webbeans.config.DefinitionUtil.createProducerComponent(DefinitionUtil.java:688)
> 	at org.apache.webbeans.config.DefinitionUtil.createProducerComponents(DefinitionUtil.java:652)
> 	at org.apache.webbeans.config.DefinitionUtil.defineProducerMethods(DefinitionUtil.java:625)
> 	at org.apache.webbeans.component.creation.AbstractInjectedTargetBeanCreator.defineProducerMethods(AbstractInjectedTargetBeanCreator.java:142)
> 	at org.apache.webbeans.util.WebBeansUtil.defineManagedBean(WebBeansUtil.java:3050)
> 	at org.apache.webbeans.config.BeansDeployer.defineManagedBean(BeansDeployer.java:881)
> 	at org.apache.webbeans.config.BeansDeployer.deploySingleAnnotatedType(BeansDeployer.java:536)
> 	at org.apache.webbeans.config.BeansDeployer.deployFromClassPath(BeansDeployer.java:482)
> 	at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:171)
> 	at org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:124)
> 	at org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:78)
> 	at com.ibm.ws.webbeans.common.CommonLifeCycle.startApplication(CommonLifeCycle.java:106)
> 	at com.ibm.ws.webbeans.services.JCDIServletContainerInitializer.onStartup(JCDIServletContainerInitializer.java:85)
> 	at com.ibm.ws.webcontainer.webapp.WebAppImpl.initializeServletContainerInitializers(WebAppImpl.java:609)
> 	at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:405)
> 	at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
> 	at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
> It turns out, that the class javax.el.ExpressionFactory shipped with the IBM Application Server contains a private final method called 'getClassNameSysProp'. This is the method org.apache.webbeans.util.WebBeansUtil.checkUnproxiableApiType() respectively ClassUtil.isFinal() complains about.
> Question here is: Is CD really preventing you to define private final methods or should this be reduced to public methods only?
> Thanks for clarification.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira