[cdi-dev] exclude rules questions
Mark Struberg
struberg at yahoo.de
Mon Feb 3 05:11:15 EST 2014
ad 1.)
Well, I do not entirely agree with the foobar also being excluded. The spec says:
"<exclude name="com.acme.ejb.**">"
"The fourth exclude filter will exclude all classes in the com.acme.ejb package, and any subpackages if the system property exclude-ejbs is set (with any value)."
Clearly com.acme.ejbrother is neither com.acme.ejb nor a sub-package.
>From a user view I'd say it makes no sense to also exclude ejbrother.
ad 2.)
We must clarify whether multiple conditions in a <scan> element are OR or AND.
LieGrue,
strub
> On Monday, 3 February 2014, 10:49, Martin Kouba <mkouba at redhat.com> wrote:
> > Hi Mark,
>
> Dne 31.1.2014 21:07, Mark Struberg napsal(a):
>>
>>
>> Hi!
>>
>> A few questions regarding exclude rules
>>
>> 1.) does .* mean only the package, but no sub-packages. Whereas .** also
> includes sub-packages?
>> Marek brought up another interesting note: com.foo.** would according to
> the wording also exclude com.foobar... Is that intended?
>>
>
> Yes, types from "com.foobar" would be excluded as well. I'm not
> sure it
> was intended but we should not change the behaviour due to backwards
> compatibility...
>
>>
>> 2.) Are multiple children allowed in an exclude rule in beans.xml?
>
> Yep, check also the schema file (beans_1_1.xsd).
>
>> There is a funny example in the spec:
>>
>> <exclude name="com.acme.ejb.**">
>>
>> <if-class-available
> name="javax.enterprise.inject.Model"/>
>>
>> <if-system-property name="exclude-ejbs"/>
>> </exclude>
>>
>>
>> But I could not find the explanation what should happen. The
> if-class-available is nowhere stated. Or did I overlook it?
>>
>
> "if-class-available" is described above the example and in xsd. The
> filter is active only if the classloader for the bean archive CAN
> load a class for that name. So the filter will not be active if the
> "Model" class can't be loaded or if the system property
> "exclude-ejbs"
> is not set.
>
> In any case the description of the example is not complete and we should
> add a TCK test for this as well (AFAIK
> org.jboss.cdi.tck.tests.deployment.exclude.ExcludeFiltersTest is not
> testing multiple child elements).
>
>
>> txs and LieGrue,
>> strub
>>
>>
>> _______________________________________________
>> cdi-dev mailing list
>> cdi-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>
>
More information about the cdi-dev
mailing list