Hi folks!
I've debugged the example and it falls into the category 'bad luck' ;)
Meecrowave has a specialised Filter KnowClassesFilter which by default excludes 
some packages which are well known to not contain any CDI beans. This is done 
to improve the startup time.
There is kind of a positive/negative lookup 
logic.https://github.com/apache/meecrowave/blob/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/KnowClassesFilter.java#L41

We have the 'included': if some class starts with any of those package names, 
then we add it If the class package does not show up in the included list then 
we look into the 'excluded'.And if we find it there, then we skip the whole 
class.
Sadly 'org.apache.myfaces' is in this very 'excluded' list ...And this is why 
Dennis' sample beans are not found. Any other project will work perfectly fine.

Do we like to make this configurable?
Actually I think we do not even need this. It should only be used if you create 
a single-jar packaging (uberjar).Otherwise the 'bad' jars in question are 
already filtered out as a whole anyway by the!


A quick hack would be to add a Filter and register it in 
openwebbeans.properties. That will of course trash the portability of your 
sample...

LieGrue,strub
 

    On Tuesday, 6 February 2018, 09:24:15 CET, Romain Manni-Bucau 
<rmannibu...@gmail.com> wrote:  
 
 Hi Dennis,
can you check this diff 
https://gist.github.com/rmannibucau/c63afe1326ca9e7409735b3f5911ea45 ?
I'm not sure why the bean is not found, is it a bad JSF setup?
About the duplicate, it seems myfaces adds twice the same bean if you scan it: 
once by scanning, once in the extension 
org.apache.myfaces.flow.cdi.FlowBuilderCDIExtension#beforeBeanDiscovery. So 
long story short 
org.apache.webbeans.config.BeansDeployer#addAdditionalAnnotatedTypes ends up 
adding again the same beans. We can surely filter it in OWB but also guess you 
should be able to make it working without scanning myfaces at all, no?


Romain Manni-Bucau
@rmannibucau |  Blog | Old Blog | Github | LinkedIn | Book
2018-02-06 8:04 GMT+01:00 Dennis Kieselhorst <d...@apache.org>:

Hi Romain,

thanks for your feedback. Let's leave out Tobago, the demo needs to run in 
several setups and is somehow complex.

We are about to release MyFaces 2.3.0 and I'd like to create an archetype for 
plain MyFaces and Meecrowave. Tried with a simple hello world sample but still 
getting DuplicateDefinitionException.

Can you please take a look? https://github.com/deki/ myfaces-meecrowave-sample

Cheers
Dennis



  

Reply via email to