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 (JIRA)" <ji...@apache.org> on 2013/11/25 13:06:45 UTC
[jira] [Closed] (OWB-895) BeforeBeanDiscovery.addAnnotatedType()
calls does not work as expected when owb jars are deployed outside
WEB-INF/lib folder
[ https://issues.apache.org/jira/browse/OWB-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Struberg closed OWB-895.
-----------------------------
> BeforeBeanDiscovery.addAnnotatedType() calls does not work as expected when owb jars are deployed outside WEB-INF/lib folder
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: OWB-895
> URL: https://issues.apache.org/jira/browse/OWB-895
> Project: OpenWebBeans
> Issue Type: Bug
> Components: Context and Scopes, Injection and Lookup, Java EE Integration
> Affects Versions: 1.1.8
> Environment: Apache Tomee 1.5.2, OpenWebBeans 1.1.8
> Reporter: Leonardo Uribe
> Assignee: Romain Manni-Bucau
> Fix For: 1.2.1
>
>
> I have been working on the CDI extension points of MyFaces Core 2.2.x, specially the part related to @ViewScoped and @FlowScoped annotations.
> The solution proposed and committed on the latest snapshot works with weld and openwebbeans. But on the way, I have found a problem when I tried to deploy a demo application in Tomee 1.5.2
> MyFaces jars has internally some beans that needs to be registered in CDI:
> - org.apache.myfaces.flow.cdi.FlowBuilderFactoryBean (deals with @FlowBuilderParameter and @FlowDefinition)
> - org.apache.myfaces.flow.cdi.FlowScopeBeanHolder (session scope bean that store flow scope)
> - org.apache.myfaces.cdi.view.ViewScopeBeanHolder (session scope bean that store view scope)
> And in the classes implementing Extension you can find some code like this to register the beans:
> void beforeBeanDiscovery(
> @Observes final BeforeBeanDiscovery event, BeanManager beanManager)
> {
> // Register FlowBuilderFactoryBean as a bean with CDI annotations, so the system
> // can take it into account, and use it later when necessary.
> AnnotatedType flowDiscoveryHelper = beanManager.createAnnotatedType(FlowBuilderFactoryBean.class);
> event.addAnnotatedType(flowDiscoveryHelper);
> }
> It works well as long as owb jars are located in WEB-INF/lib folder, but in Tomee, MyFaces and OWB jars are located in <tomee folder>/lib . In theory the code should work but it doesn't.
> The effect is the application fails because these beans are not registered on CDI environment.
> Suggestions are welcome.
--
This message was sent by Atlassian JIRA
(v6.1#6144)