<div dir="ltr">The way @Inject works is not specified in 330, and it&#39;s better to leave it like this, otherwise we will loose Spring and Guice as implementations.<div><br></div><div>Antonio</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 31, 2015 at 10:11 AM, Martin Kouba <span dir="ltr">&lt;<a href="mailto:mkouba@redhat.com" target="_blank">mkouba@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dne 31.8.2015 v 09:57 Antonio Goncalves napsal(a):<span class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I don&#39;t see Events in a &quot;Lite&quot; version because the other DI frameworks<br>
don&#39;t use them. A &quot;fatter&quot; 330 with producers, programmatic lookup and<br>
bootstrap, could be &quot;easily&quot; implemented by Spring, Guice... If we leave<br>
events in a Lite version, then it won&#39;t be the case, and Weld and OWB<br>
will be the only two implementations.<br>
<br>
For me, a Lite version would just be about DI. If Weld uses events<br>
internally to archieve basic DI, well, it&#39;s just an implementation<br>
decision, not a spec. I would not even try to standardize the way<br>
@Inject works (like Romain said, @Inject doesn&#39;t work the same in Weld<br>
or Spring), let&#39;s leave it like this.<br>
</blockquote>
<br></span>
If you don&#39;t standardize how @Inject works then what&#39;s the purpose of having something like CDI Lite and many implementations which work differently? A user of implementation &quot;A&quot; will not be able to switch to implementation &quot;B&quot; easily. And that&#39;s one of the most important benefits of standardization...<span class=""><br>
<br>
If you take back Antoine sentence<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
&quot;/This would allow using CDI in constrained environment like mobile or<br>
embedded devices/&quot;, then I don&#39;t think events would fit here.<span class=""><br>
<br>
Antonio<br>
<br>
On Mon, Aug 31, 2015 at 8:25 AM, Mark Struberg &lt;<a href="mailto:struberg@yahoo.de" target="_blank">struberg@yahoo.de</a><br></span><div><div class="h5">
&lt;mailto:<a href="mailto:struberg@yahoo.de" target="_blank">struberg@yahoo.de</a>&gt;&gt; wrote:<br>
<br>
    &gt; For me, a Light version of CDI is clearly the features number. That&#39;s why I don&#39;t see events in it.<br>
<br>
    We did discuss this last year on the f2f meeting. The problem lies<br>
    within our Extension mechanism. Without events you also need to drop<br>
    the Extension mechanism. And to be honest, this is THE major hit in<br>
    all CDI…<br>
    Sorry to be the bad guy busting all those ideas. I really don’t want<br>
    to, but better now than too late down the road ;)<br>
<br>
    It’s really tricky as many features are heavily based on each other.<br>
    E.g. by removing scanning you could get rid of javassist/asm/etc ?<br>
    nope, we also have our class proxies which need bytecode tinkering.<br>
    So remove interceptors and decorators too? Well yea, but we still<br>
    have normalscoping -&gt; what is left? basically spring prototype and<br>
    singleton. Hmm.  that’s not that much compared to full CDI. And all<br>
    that for only 200kByte?<br>
    (Btw we also discussed generating the bytecode classes at build<br>
    time, but then we still miss the dynamics we get from Extensions,<br>
    e.g. PAT adding an interceptor annotation)<br>
    Just to give you a rough idea how this all works together when it<br>
    comes to implementation details…<br>
    Please feel free to ask Jozef and me for further infos on<br>
    ‚dependencies‘.<br>
<br>
    LieGrue,<br>
    strub<br>
<br>
<br>
     &gt; Am 30.08.2015 um 18:09 schrieb Antonio Goncalves<br></div></div>
    &lt;<a href="mailto:antonio.goncalves@gmail.com" target="_blank">antonio.goncalves@gmail.com</a> &lt;mailto:<a href="mailto:antonio.goncalves@gmail.com" target="_blank">antonio.goncalves@gmail.com</a>&gt;&gt;:<span class=""><br>
     &gt;<br>
     &gt; For me, a Light version of CDI is clearly the features number.<br>
    That&#39;s why I don&#39;t see events in it.<br>
     &gt;<br>
     &gt; For me, a CDI Lite would just focus on DI. If CDI has @Produces<br>
    and Spring has @Bean, then it&#39;s because 330 lakes this functionality.<br>
     &gt;<br>
     &gt; On Sun, Aug 30, 2015 at 4:02 PM, Romain Manni-Bucau<br></span><span class="">
    &lt;<a href="mailto:rmannibucau@gmail.com" target="_blank">rmannibucau@gmail.com</a> &lt;mailto:<a href="mailto:rmannibucau@gmail.com" target="_blank">rmannibucau@gmail.com</a>&gt;&gt; wrote:<br>
     &gt; Lite can have several definition, let&#39;s try to list them up if it<br>
    can help:<br>
     &gt;<br>
     &gt; - binary size: for me until 3M for an app it is &quot;Lite&quot;<br>
     &gt; - features number: the whole IoC set of feature is light since<br>
    you almost always need it, it means you can do lighter but it<br>
    wouldnt be used - check spring, who uses only spring-ioc and not<br>
    context or more?<br>
     &gt; - features complexity: sure we are not light here but supporting<br>
    scopes already breaks &quot;Lite-ness&quot; IMO so not a real issue<br>
     &gt;<br>
     &gt; So my view is CDI &quot;SE&quot; is light enough - as a spec and spec can&#39;t<br>
    affect implementations so seems the fight is not on the right side<br>
    to me.<br>
     &gt;<br>
     &gt;<br>
     &gt;<br>
     &gt; Romain Manni-Bucau<br>
     &gt; @rmannibucau |  Blog | Github | LinkedIn | Tomitriber<br>
     &gt;<br>
     &gt; 2015-08-30 15:57 GMT+02:00 Antonio Goncalves<br></span>
    &lt;<a href="mailto:antonio.goncalves@gmail.com" target="_blank">antonio.goncalves@gmail.com</a> &lt;mailto:<a href="mailto:antonio.goncalves@gmail.com" target="_blank">antonio.goncalves@gmail.com</a>&gt;&gt;:<span class=""><br>
     &gt; It&#39;s funny, I feel I&#39;m in Rod Johnson shoes back in Java EE 6<br>
    where he forked 330 because he found CDI was doing too much  ;o)<br>
     &gt;<br>
     &gt; For me, &quot;CDI Lite&quot; was just basic dependency injection. The fact<br>
    that CDI can now run on SE (like JPA....), is good... but for me it<br>
    has nothing to do with Light : it&#39;s the entire thing that can<br>
    bootstrap in SE. Good.<br>
     &gt;<br>
     &gt; So what is Lite for you guys ?<br>
     &gt;<br>
     &gt; Antonio<br>
     &gt;<br>
     &gt; On Sun, Aug 30, 2015 at 3:44 PM, Romain Manni-Bucau<br></span><span class="">
    &lt;<a href="mailto:rmannibucau@gmail.com" target="_blank">rmannibucau@gmail.com</a> &lt;mailto:<a href="mailto:rmannibucau@gmail.com" target="_blank">rmannibucau@gmail.com</a>&gt;&gt; wrote:<br>
     &gt; 2015-08-30 15:22 GMT+02:00 John D. Ament &lt;<a href="mailto:john.d.ament@gmail.com" target="_blank">john.d.ament@gmail.com</a><br></span>
    &lt;mailto:<a href="mailto:john.d.ament@gmail.com" target="_blank">john.d.ament@gmail.com</a>&gt;&gt;:<span class=""><br>
     &gt; Personally, I&#39;m not in favor of a slimmed down runtime.  It was<br>
    tried with EJB, but never implemented properly (most implementations<br>
    that support EJB-lite actually support the entire thing, except for<br>
    deprecated stuff).<br>
     &gt;<br>
     &gt;<br>
     &gt; +1, most of CDI is basic and quickly any light version will miss<br>
    events or other thing - in particular in maintaining micro services<br>
    from experience. Size of an implementation can easily be &lt; 1M so not<br>
    sure it would bring anything. Only important point is what Antoine<br>
    started to do ie ensuring EE and SE parts are clearly identified and<br>
    split in the spec.<br>
     &gt;<br>
     &gt; I think if we define SE properly we won&#39;t have a need for this.<br>
     &gt;<br>
     &gt; John<br>
     &gt;<br>
     &gt; On Sun, Aug 30, 2015 at 8:07 AM Antonio Goncalves<br></span>
    &lt;<a href="mailto:antonio.goncalves@gmail.com" target="_blank">antonio.goncalves@gmail.com</a> &lt;mailto:<a href="mailto:antonio.goncalves@gmail.com" target="_blank">antonio.goncalves@gmail.com</a>&gt;&gt;<span class=""><br>
    wrote:<br>
     &gt; @Antoine, so which content do you see in CDI Lite ? Are you sure<br>
    about events ?<br>
     &gt;<br>
     &gt; I&#39;m in favor of a &quot;fatter&quot; 330 that would have :<br>
     &gt;       • @Inject : already there<br>
     &gt;       • @Qualifier : already there<br>
     &gt;       • Producers and disposers<br>
     &gt;       • Programatic lookup<br>
     &gt;       • Java SE Bootstrap<br>
     &gt; When you say &quot;The goal here is not to propose a new EE profile<br>
    but a subspec&quot;, 330 could already be seen as a subspec. If you put<br>
    events apparts, what would be missing in this list in your point of<br>
    view ? And what obstacles do you see in archieving this ?<br>
     &gt;<br>
     &gt; To boostrap CDI we have a CDIProvider, why not having an<br>
    InjectionProvider just to bootstrap 330 (then, CDIProvider could<br>
    extend InjectionProvider, so it bootstraps the all thing) ?<br>
     &gt;<br>
     &gt; Antonio<br>
     &gt;<br>
     &gt; On Sun, Aug 30, 2015 at 9:09 AM, Antoine Sabot-Durand<br></span><span class="">
    &lt;<a href="mailto:antoine@sabot-durand.net" target="_blank">antoine@sabot-durand.net</a> &lt;mailto:<a href="mailto:antoine@sabot-durand.net" target="_blank">antoine@sabot-durand.net</a>&gt;&gt; wrote:<br>
     &gt; Yes Arjan, I think it&#39;s the first reason. We really should work<br>
    with them to understand what should be added to CDI 2.0 to have it<br>
    as a first citizen DI in their spec.<br>
     &gt;<br>
     &gt; Le sam. 29 août 2015 à 23:15, arjan tijms &lt;<a href="mailto:arjan.tijms@gmail.com" target="_blank">arjan.tijms@gmail.com</a><br></span>
    &lt;mailto:<a href="mailto:arjan.tijms@gmail.com" target="_blank">arjan.tijms@gmail.com</a>&gt;&gt; a écrit :<span class=""><br>
     &gt; On Sat, Aug 29, 2015 at 8:45 PM, Antonio Goncalves<br>
     &gt; &lt;<a href="mailto:antonio.goncalves@gmail.com" target="_blank">antonio.goncalves@gmail.com</a><br></span><span class="">
    &lt;mailto:<a href="mailto:antonio.goncalves@gmail.com" target="_blank">antonio.goncalves@gmail.com</a>&gt;&gt; wrote:<br>
     &gt; &gt; I remember talking with the JAX-RS guys (Java EE), years ago<br>
    (back in EE6),<br>
     &gt; &gt; and their answer for not adopting CDI was &quot;too heavy&quot;.<br>
     &gt;<br>
     &gt; I can&#39;t find an exact reference anymore, but I somewhat remember that<br>
     &gt; one of the reasons was also simply that CDI as a general solution<br>
     &gt; finished late in Java EE 6, while JAX-RS finished earlier and had all<br>
     &gt; the work for their own DI solution already done.<br>
     &gt;<br>
     &gt;<br>
     &gt;<br>
     &gt; --<br>
     &gt; Antonio Goncalves<br>
     &gt; Software architect, Java Champion and Pluralsight author<br>
     &gt;<br>
     &gt; Web site | Twitter | LinkedIn | Pluralsight | Paris JUG | Devoxx<br>
    France<br>
     &gt; _______________________________________________<br>
     &gt; cdi-dev mailing list<br></span>
     &gt; <a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a>&gt;<span class=""><br>
     &gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
     &gt;<br>
     &gt; Note that for all code provided on this list, the provider<br>
    licenses the code under the Apache License, Version 2<br>
    (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other<br>
    ideas provided on this list, the provider waives all patent and<br>
    other intellectual property rights inherent in such information.<br>
     &gt;<br>
     &gt; _______________________________________________<br>
     &gt; cdi-dev mailing list<br></span>
     &gt; <a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a>&gt;<span class=""><br>
     &gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
     &gt;<br>
     &gt; Note that for all code provided on this list, the provider<br>
    licenses the code under the Apache License, Version 2<br>
    (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other<br>
    ideas provided on this list, the provider waives all patent and<br>
    other intellectual property rights inherent in such information.<br>
     &gt;<br>
     &gt;<br>
     &gt;<br>
     &gt;<br>
     &gt; --<br>
     &gt; Antonio Goncalves<br>
     &gt; Software architect, Java Champion and Pluralsight author<br>
     &gt;<br>
     &gt; Web site | Twitter | LinkedIn | Pluralsight | Paris JUG | Devoxx<br>
    France<br>
     &gt;<br>
     &gt;<br>
     &gt;<br>
     &gt;<br>
     &gt; --<br>
     &gt; Antonio Goncalves<br>
     &gt; Software architect, Java Champion and Pluralsight author<br>
     &gt;<br>
     &gt; Web site | Twitter | LinkedIn | Pluralsight | Paris JUG | Devoxx<br>
    France<br>
     &gt; _______________________________________________<br>
     &gt; cdi-dev mailing list<br></span>
     &gt; <a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a>&gt;<span class=""><br>
     &gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
     &gt;<br>
     &gt; Note that for all code provided on this list, the provider<br>
    licenses the code under the Apache License, Version 2<br>
    (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other<br>
    ideas provided on this list, the provider waives all patent and<br>
    other intellectual property rights inherent in such information.<br>
<br>
<br>
<br>
<br>
--<br>
Antonio Goncalves<br>
Software architect, Java Champion and Pluralsight author<br>
<br></span><span class="">
Web site &lt;<a href="http://www.antoniogoncalves.org" rel="noreferrer" target="_blank">http://www.antoniogoncalves.org</a>&gt; | Twitter<br>
&lt;<a href="http://twitter.com/agoncal" rel="noreferrer" target="_blank">http://twitter.com/agoncal</a>&gt; | LinkedIn<br>
&lt;<a href="http://www.linkedin.com/in/agoncal" rel="noreferrer" target="_blank">http://www.linkedin.com/in/agoncal</a>&gt; | Pluralsight<br>
&lt;<a href="http://pluralsight.com/training/Authors/Details/antonio-goncalves" rel="noreferrer" target="_blank">http://pluralsight.com/training/Authors/Details/antonio-goncalves</a>&gt; |<br>
Paris JUG &lt;<a href="http://www.parisjug.org" rel="noreferrer" target="_blank">http://www.parisjug.org</a>&gt; | Devoxx France &lt;<a href="http://www.devoxx.fr" rel="noreferrer" target="_blank">http://www.devoxx.fr</a>&gt;<br>
<br>
<br></span><span class="">
_______________________________________________<br>
cdi-dev mailing list<br>
<a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
<br>
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.<br>
<br>
</span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
-- <br>
Martin Kouba<br>
Software Engineer<br>
Red Hat, Czech Republic<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Antonio Goncalves <br>Software architect, Java Champion and Pluralsight author<br><br><a href="http://www.antoniogoncalves.org" target="_blank">Web site</a> | <a href="http://twitter.com/agoncal" target="_blank">Twitter</a> | <a href="http://www.linkedin.com/in/agoncal" target="_blank">LinkedIn</a> | <a href="http://pluralsight.com/training/Authors/Details/antonio-goncalves" target="_blank">Pluralsight</a> | <a href="http://www.parisjug.org" target="_blank">Paris JUG</a> | <a href="http://www.devoxx.fr" target="_blank">Devoxx France</a></div></div>
</div>