On Tuesday 05 July 2011 01:18 PM, Mark Struberg wrote:
JSR-299 section 12.1
> A directory in the JVM classpath is a bean archive if it has a
> file named beans.xml in the META-INF directory.
And since WEB-INF/classes of a WAR is a JVM classpath directory...
The CDI spec in
that section also has:
- The WEB-INF/classes directory of a war is a bean archive if there is a
file named beans.xml in the WEB-INF directory of the war.
So I'm not too sure if the spec meant to allow the beans.xml in 2 places
(WEB-INF/classes and WEB-INF/classes/META-INF) within the .war. Infact,
my understanding of "JVM classpath" is the classpath set via the
-classpath argument to the java command. However, I'm not too sure what
the CDI spec really intended it to be (maybe needs a clarification in
1.1?). If it really means that WEB-INF/classes/META-INF is valid for the
beans.xml then we need to take that into account in AS7.
-Jaikiran
LieGrue,
strub
--- On Tue, 7/5/11, Jaikiran Pai<jpai(a)redhat.com> wrote:
> From: Jaikiran Pai<jpai(a)redhat.com>
> Subject: Re: [seam-dev] Issue resolved with JBoss AS 7 CR1 and Seam Social
> To: "Mark Struberg"<struberg(a)yahoo.de>
> Cc: seam-dev(a)lists.jboss.org
> Date: Tuesday, July 5, 2011, 7:39 AM
> On Tuesday 05 July 2011 01:04 PM,
> Mark Struberg wrote:
>> Jaikiran, _why_ should WEB-INF/classes/META-INF be an
> invalid directory?
>>
>> WEB-INF/classes is definitely a valid class filepath.
> Thus a META-INF inside is valid. This works in every spec
> and on every EE server I know.
> Except for the JPA spec, none of the other specs mention
> that as a
> metadata location. May be I'm missing some spec? Which
> other spec uses
> this location? I agree that WEB-INF/classes is a valid
> class filepath,
> but that doesn't mean that META-INF inside it should be
> valid, does it?
>
> -Jaikiran
>>
>> LieGrue,
>> strub
>>
>> --- On Tue, 7/5/11, Jaikiran Pai<jpai(a)redhat.com>
> wrote:
>>
>>> From: Jaikiran Pai<jpai(a)redhat.com>
>>> Subject: Re: [seam-dev] Issue resolved with JBoss
> AS 7 CR1 and Seam Social
>>> To: seam-dev(a)lists.jboss.org
>>> Date: Tuesday, July 5, 2011, 5:23 AM
>>> Indeed, WEB-INF/classes/META-INF is
>>> *not* a valid location for metadata
>>> files like this one. WEB-INF/classes/META-INF is
> meant only
>>> for
>>> persistence.xml (for some reason the JPA spec
> mandated this
>>> location).
>>> The right place for the metadata file is
> .war/META-INF. AS7
>>> infact logs
>>> a WARN message if it sees any file other than
>>> persistence.xml in the
>>> WEB-INF/classes/META-INF folder. I guess you are
> seeing
>>> that WARN in the
>>> logs/console, aren't you?
>>>
>>> -Jaikiran
>>> On Tuesday 05 July 2011 01:21 AM, Pete Muir
> wrote:
>>>> I would somewhat expect this -
>>> WEB-INF/classes/META-INF is not a valid location
> for
>>> beans.xml to activate CDI services for a war - AS6
> used to
>>> do it as a spec extension. Now, why the libraries
> are
>>> activated for the war, but the actual war isn't on
> AS7 is
>>> quite weird, and one for Stuart to take a look
> at.
>>>>
>>>> On 4 Jul 2011, at 20:32, Antoine Sabot-Durand
> wrote:
>>>>
>>>>> In /WEB-INF/classes/META-INF
>>>>>
>>>>> Antoine
>>>>>
>>>>> Le 4 juil. 2011 à 20:57, Pete Muir a
> écrit :
>>>>>
>>>>>> Sounds odd - in this case where
> exactly in
>>> beans.xml? /META-INF or
> /WEB-INF/classes/META-INF?
>>>>>>
>>>>>> But Stuart will know the exact problem
> ;-)
>>>>>>
>>>>>> On 4 Jul 2011, at 19:51, Antoine
> Sabot-Durand
>>> wrote:
>>>>>>
>>>>>>> I understand, but my question was
> : is it
>>> normal when beans.xml is in META-INF that CDI
> beans are
>>> instantiated (i.e. I see Seam Config and Seam
> Social
>>> Extensions log messages) but that those Beans are
> not
>>> available for JSF views. It looks like a bug for
> me....
>>> Should I use seam-beans.xml instead ?
>>>>>>>
>>>>>>> Antoine
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Le 4 juil. 2011 à 20:30, Pete
> Muir a
>>> écrit :
>>>>>>>
>>>>>>>> I believe Stuart intended to
> make it
>>> work in WEB-INF, but there are a lot of issues
> with loading
>>> it from there, largely because there is no
> guarantee that
>>> the Servlet container has started when Seam Config
> is
>>> started. And Java EE itself offers to API to read
> from the
>>> web root.
>>>>>>>>
>>>>>>>> This is resolved in CDI 1.1 as
> we
>>> offer the ability to read the .xml files as an
> InputStream
>>> using the ProcessModule event on startup.
>>>>>>>>
>>>>>>>> On 4 Jul 2011, at 18:21, Jason
> Porter
>>> wrote:
>>>>>>>>
>>>>>>>>> The suggested file is
>>> sem-beans.XML in the place you put it, but in
> short, yes, I
>>> believe this is expected.
>>>>>>>>>
>>>>>>>>> Sent from my iPhone
>>>>>>>>>
>>>>>>>>> On Jul 4, 2011, at 8:20,
> Antoine
>>> Sabot-Durand<antoine(a)sabot-durand.net>
>
>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi all,
>>>>>>>>>>
>>>>>>>>>> Just to let you know I
> managed
>>> to run social Web App example with Jboss 7-CR1.
> The trick
>>> was to have 2 beans.xml file. One in META-INF for
>>> Seam-Config to read beans configuration and one in
> WEB-INF
>>> in order to having the server exposing CDI bean
> for JSF
>>> view. I drop the Seam-Faces and its dependency
>>> Seam-International since I don't need them and
> they cashed
>>> the deployment.
>>>>>>>>>>
>>>>>>>>>> If I put config info
> in
>>> WEB-INF/beans.xml, Seam-Config doesn't read them
> and if I
>>> don't put beans.xml in WEB-INF my JSF views don't
> access CDI
>>> bean (LE doesn't trigger any code). I don't know
> if it's the
>>> expected behavior for Seam-Config to read
> beans.xml only in
>>> META-INF....
>>>>>>>>>>