Skip to main content

[jsr342-experts] Re: CDI in Application Client Container

  • From: Bill Shannon <bill.shannon@...>
  • To: jsr342-experts@...
  • Subject: [jsr342-experts] Re: CDI in Application Client Container
  • Date: Tue, 13 Nov 2012 12:27:18 -0800

I don't understand why it's hard to solve now.

We don't need a portable way to bootstrap CDI.  We just need the ACC
to use whatever non-portable method it needs for the CDI implementation
it's using.  As long as CDI is bootstrapped before the application
starts, that's fine.

Why can't we do that now?

Pete Muir wrote on 11/13/12 01:43:
> Right, from my perspective as CDI spec lead, this is a mistake in the Java 
> EE spec that was introduced when CDI was added to Java EE 6. The CDI spec 
> unambiguously says that the Application Client Container is not required to 
> be supported by CDI, and the CDI TCK does not test it.
> 
> I'll raise this with the CDI EG and see if they want to support it or not. 
> However, I would certainly vote no at this point. As I expressed, I would 
> prefer to defer to CDI 2.0 when we define Java SE support - this then 
> becomes an easy problem to solve.
> 
> On 12 Nov 2012, at 23:58, Jason Greene wrote:
> 
>> We purposefully did not include support for the app client container in 
>> the CDI spec, mainly because it has low usage, there are numerous 
>> differences in container implementations, SE support was politically 
>> unpopular at the time, and we were waiting to see what happened with 
>> modularity.
>>
>> On Nov 11, 2012, at 2:07 PM, Bill Shannon <bill.shannon@...> wrote:
>>
>>> Sigh...
>>>
>>> It appears that we neither implemented nor tested support for CDI in the 
>>> app client container.  Clearly something we'll need to fix for EE 7, if 
>>> not sooner.
>>>
>>> Bill Shannon wrote on 11/09/2012 04:47 PM:
>>>> Yes, based on the Java EE 6 platform spec, I intended and expected CDI 
>>>> to work in the app client container.
>>>>
>>>> I'm trying to find out what we actually implemented and tested...  :-)
>>>>
>>>> Antonio Goncalves wrote on 11/09/12 14:10:
>>>>> Ok, good to know. But that means that all ACC implementations should 
>>>>> support it then ? As Pete said, looks like the JBoss one doesn't....
>>>>>
>>>>> I found the mail I sent to the GlassFish forum a couple of years ago 
>>>>> about this topic 
>>>>> (http://www.java.net/forum/topic/glassfish/glassfish/using-cdi-acc-se-environment).
>>>>>  I'll be doing more test to make sure and fill a bug if needed.
>>>>>
>>>>>
>>>>> On Fri, Nov 9, 2012 at 10:57 PM, Bill Shannon <bill.shannon@...> wrote:
>>>>> CDI is supposed to be supported in the app client container.  If it's 
>>>>> not working, please file bugs.
>>>>>
>>>>> Antonio Goncalves wrote on 11/09/12 06:09:
>>>>>> Hum.... for me it's just another container (EJB, Servlet & Client) so 
>>>>>> I would expect the same services from CDI. ACC is not plain Java SE, 
>>>>>> it's a container that gives you a small set of services, and that 
>>>>>> includes CDI (as per Java EE specification). 
>>>>>>
>>>>>> Bill/Linda, if CDI is not supported in ACC why not getting rid of it 
>>>>>> in Figure EE.2-1 ? It's confusing.
>>>>>>
>>>>>> Antonio  
>>>>>>
>>>>>>
>>>>>> On Fri, Nov 9, 2012 at 3:01 PM, Pete Muir <pmuir@...> wrote:
>>>>>> This also ties in to more general Java SE support for CDI IMO. I would 
>>>>>> probably prefer to get a general solution sorted, rather than a 
>>>>>> special case for ACC.
>>>>>>
>>>>>> On 9 Nov 2012, at 14:56, Antonio Goncalves wrote:
>>>>>>
>>>>>>> I like to use Producers and Alternatives so I can easily switch 
>>>>>>> context. In the case of having CDI in ACC that would allow me to 
>>>>>>> invoke different Web Serivces just by changing beans.xml
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Nov 9, 2012 at 2:44 PM, Pete Muir <pmuir@...> wrote:
>>>>>>> It's not in the cdi tck so I doubt it is in jboss as.
>>>>>>>
>>>>>>> Nigel's point about scopes is very relevant.
>>>>>>> On 9 Nov 2012 14:03, "Antonio Goncalves" <antonio.goncalves@...> 
>>>>>>> wrote:
>>>>>>> I'm not an ACC expert, but I do use it once in a while. But to be 
>>>>>>> honest, I don't know why it doesn't work. If you look at the EE spec 
>>>>>>> (eg. EE 7 - Figure EE.2-1) you see that CDI & DI is in the ACC. But 
>>>>>>> on the other hand, the CDI 1.0 spec (12.1. Bean archives) says "The 
>>>>>>> container is not required to support application client jar bean 
>>>>>>> archives." I tried several time with the appclient from GlassFish, 
>>>>>>> and CDI just doesn't work (wonder if JBoss ACC allows CDI or not). 
>>>>>>> The "is not required" part is frustrating.
>>>>>>>
>>>>>>> Antonio
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Nov 9, 2012 at 12:48 PM, Pete Muir <pmuir@...> wrote:
>>>>>>> I'm not an expert in the ACC, so would need a ACC expert who knows 
>>>>>>> CDI to help us define the behavior. Interested Antonio?
>>>>>>>
>>>>>>> On 9 Nov 2012, at 12:41, Antonio Goncalves wrote:
>>>>>>>
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> Correct me if I'm wrong but I haven't seen any discussion on this 
>>>>>>>> topic. In Java EE 6 CDI doesn't work in ACC. Wouldn't it be useful 
>>>>>>>> to add it in                                 EE 7 ?
>>>>>>>>
>>>>>>>> A use case I'm working on at the moment is that I have a Java SE 
>>>>>>>> class (running in ACC) that injects a web service reference with 
>>>>>>>> @WebServiceRef. With CDI enabled I could produce this reference and 
>>>>>>>> just @Inject it.
>>>>>>>>
>>>>>>>> What do you think ?
>>>>>>>>
>>>>>>>> --
>>>>>>>> Antonio Goncalves
>>>>>>>> Software architect and Java Champion
>>>>>>>>
>>>>>>>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Antonio Goncalves
>>>>>>> Software architect and Java Champion
>>>>>>>
>>>>>>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Antonio Goncalves
>>>>>>> Software architect and Java Champion
>>>>>>>
>>>>>>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> Antonio Goncalves 
>>>>>> Software architect and Java Champion
>>>>>>
>>>>>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> Antonio Goncalves 
>>>>> Software architect and Java Champion
>>>>>
>>>>> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>>>>
>>>
>>
> 



[jsr342-experts] Re: CDI in Application Client Container

(continued)

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/10/2012

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/11/2012

[jsr342-experts] Re: CDI in Application Client Container

Antonio Goncalves 11/11/2012

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/12/2012

[jsr342-experts] Re: CDI in Application Client Container

Antonio Goncalves 11/12/2012

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/12/2012

[jsr342-experts] Re: CDI in Application Client Container

Antonio Goncalves 11/13/2012

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/13/2012

[jsr342-experts] Re: CDI in Application Client Container

Jason Greene 11/12/2012

[jsr342-experts] Re: CDI in Application Client Container

Pete Muir 11/13/2012

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/13/2012

[jsr342-experts] Re: CDI in Application Client Container

Pete Muir 11/13/2012

[jsr342-experts] Re: CDI in Application Client Container

Jason Greene 11/13/2012

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/13/2012

[jsr342-experts] Re: CDI in Application Client Container

Pete Muir 11/15/2012

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/16/2012

[jsr342-experts] Re: CDI in Application Client Container

Jason Greene 11/16/2012

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/16/2012

[jsr342-experts] Re: CDI in Application Client Container

Markus Eisele 11/20/2012

[jsr342-experts] Re: CDI in Application Client Container

Bill Shannon 11/13/2012
 
 
Close
loading
Please Confirm
Close