<div dir="ltr">@Mark: not sure I follow, if we have:<div><br></div><div><table class="" style="border-collapse:collapse;border-spacing:0px;color:rgb(51,51,51);font-family:Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,&#39;Segoe UI Emoji&#39;,&#39;Segoe UI Symbol&#39;;font-size:13px;line-height:18.2000007629395px"><tbody><tr><td id="LC56" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal">    <span class="" style="color:rgb(150,152,150)">/**</span></td></tr><tr><td id="L57" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC57" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     * Start the specified scope. This only works for scopes which are handled</span></td></tr><tr><td id="L58" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC58" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     * by the CDI container itself. Custom scoped of 3rd party</span></td></tr><tr><td id="L59" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC59" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     * Context implementations shall be started directly (they are portable anyway).</span></td></tr><tr><td id="L60" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC60" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     *</span></td></tr><tr><td id="L61" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC61" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     * @param scopeClass e.g. RequestScoped.class</span></td></tr><tr><td id="L62" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC62" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     */</span></td></tr><tr><td id="L63" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC63" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal">    <span class="" style="color:rgb(167,29,93)">void</span> <span class="" style="color:rgb(121,93,163)">startContext</span>(<span class="" style="color:rgb(167,29,93)">Class&lt;? extends <span class="" style="color:rgb(51,51,51)">Annotation</span>&gt;</span> <span class="" style="color:rgb(237,106,67)">scopeClass</span>);</td></tr><tr><td id="L64" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC64" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal">
</td></tr><tr><td id="L65" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC65" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal">    <span class="" style="color:rgb(150,152,150)">/**</span></td></tr><tr><td id="L66" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC66" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     * Stop the specified scope. This only works for scopes which are handled</span></td></tr><tr><td id="L67" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC67" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     * by the CDI container itself. Custom scoped of 3rd party</span></td></tr><tr><td id="L68" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC68" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     * Context implementations shall be stopped directly (they are portable anyway).</span></td></tr><tr><td id="L69" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC69" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     *</span></td></tr><tr><td id="L70" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC70" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     * @param scopeClass e.g. RequestScoped.class</span></td></tr><tr><td id="L71" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC71" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal"><span class="" style="color:rgb(150,152,150)">     */</span></td></tr><tr><td id="L72" class="" style="padding:0px 10px;width:50px;min-width:50px;white-space:nowrap;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;line-height:18px;color:rgba(0,0,0,0.298039);vertical-align:top;text-align:right;border-style:solid;border-color:rgb(238,238,238);border-width:0px 1px 0px 0px"></td><td id="LC72" class="" style="padding:0px 10px;vertical-align:top;font-family:Consolas,&#39;Liberation Mono&#39;,Menlo,Courier,monospace;font-size:12px;white-space:pre;overflow:visible;word-wrap:normal">    <span class="" style="color:rgb(167,29,93)">void</span> <span class="" style="color:rgb(121,93,163)">stopContext</span>(<span class="" style="color:rgb(167,29,93)">Class&lt;? extends <span class="" style="color:rgb(51,51,51)">Annotation</span>&gt;</span> <span class="" style="color:rgb(237,106,67)">scopeClass</span>);

</td></tr></tbody></table></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Then we aredone and it works even in EE since context can be alterable now - this is clearly something to discuss inbetween EDR and final but introducing this API solves the SE case and doesnt break the EE one.</div><div><br><span style="font-size:small">Romain Manni-Bucau</span><br><a href="https://twitter.com/rmannibucau" target="_blank">@rmannibucau</a> |  <a href="http://rmannibucau.wordpress.com" target="_blank">Blog</a> | <a href="https://github.com/rmannibucau" target="_blank">Github</a> | <a href="https://www.linkedin.com/in/rmannibucau" target="_blank">LinkedIn</a> | <a href="http://www.tomitribe.com" target="_blank">Tomitriber</a></div></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">2015-06-24 13:05 GMT+02:00 Mark Struberg <span dir="ltr">&lt;<a href="mailto:struberg@yahoo.de" target="_blank">struberg@yahoo.de</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">No because the DS solution is not enough for the CDI spec. We need a mixture of features. At least if it should also be usable in EE.<br>
What we miss in DS is that you can give a well defined ’storage’ from outside. You can just start the SessionScope but it is always only for the current thread. Any other Thread will get a new context storage underneath. This is great if you just need some code which uses @SessionScoped to work somehow. But I think this is not enough if we want something inside the spec.<br>
<br>
LieGrue,<br>
strub<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
&gt; Am 24.06.2015 um 12:07 schrieb Romain Manni-Bucau &lt;<a href="mailto:rmannibucau@gmail.com">rmannibucau@gmail.com</a>&gt;:<br>
&gt;<br>
&gt; the issue isnot hqving something temporary but something temporary and really different from the final solution we seem to all desire.<br>
&gt;<br>
&gt; Stupid question surely but qsking it qnyway: cant we add a ContextControl taken from deltaspike in the EDR and the refine it? sounds like a closer solution than activating a scope then removing this.<br>
&gt;<br>
&gt;<br>
&gt; Romain Manni-Bucau<br>
&gt; @rmannibucau |  Blog | Github | LinkedIn | Tomitriber<br>
&gt;<br>
&gt; 2015-06-24 12:04 GMT+02:00 Antoine Sabot-Durand &lt;<a href="mailto:antoine@sabot-durand.net">antoine@sabot-durand.net</a>&gt;:<br>
&gt; Ok, let me phrase it again: &quot;the EDR is not a partial spec, feature in it can be amend, changed or totally removed&quot;. It&#39;s main purpose is to have our end users feedback.<br>
&gt; This idea of having a temporary specified part was introduced nearly 2 months ago and was discussed many time... Would have been nice to have this discussion before doing the work.<br>
&gt;<br>
&gt;<br>
&gt; Le mer. 24 juin 2015 à 11:41, Romain Manni-Bucau &lt;<a href="mailto:rmannibucau@gmail.com">rmannibucau@gmail.com</a>&gt; a écrit :<br>
&gt; @Antoine: didnt complain about the in progress status. Just prefer as Jozef to not put something we ll revert which will lock us as @New did but in a worse manner. Said otherwise better to not do than doing it wrong knowing it is wrong.<br>
&gt;<br>
&gt;<br>
&gt; Romain Manni-Bucau<br>
&gt; @rmannibucau |  Blog | Github | LinkedIn | Tomitriber<br>
&gt;<br>
&gt; 2015-06-24 11:39 GMT+02:00 Antoine Sabot-Durand &lt;<a href="mailto:antoine@sabot-durand.net">antoine@sabot-durand.net</a>&gt;:<br>
&gt; Romain,<br>
&gt;<br>
&gt; CDI-26 was open 4,5 years ago. Obviously working on the whole stuff in one shot didn&#39;t made it. To get out of the dead end I didn&#39;t see other solution than to cut the features in smaller pieces. That&#39;s why it&#39;s not finished and I intend to explain it in my blog post. As I&#39;ll explain that the EDR is for testing not early adoption.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Le mer. 24 juin 2015 à 11:31, Antoine Sabot-Durand &lt;<a href="mailto:antoine@sabot-durand.net">antoine@sabot-durand.net</a>&gt; a écrit :<br>
&gt; Jozef,<br>
&gt;<br>
&gt; I think I really got your disagreement on that point. You repeated it many times.<br>
&gt;<br>
&gt; My point and the question I keep asking to you is &quot;what is your suggestion?&quot;.<br>
&gt; Personally I see 5 solutions here:<br>
&gt;<br>
&gt; 1) Don&#39;t do anything since there&#39;s no alternative solution<br>
&gt; 2) Change the wording regarding request scope activation in something like &quot;is active from the initialization of the container until its shutdown&quot;<br>
&gt; 3) Give the same behavior than application scope request scope is shared<br>
&gt; 4) Revert and say that Request Scope is not active in SE. But it&#39;s also a hack since we&#39;ll change it with CDI-530<br>
&gt; 5) Don&#39;t specify anything<br>
&gt;<br>
&gt; I guess that you&#39;re choice is 4 or 5, but I may be wrong again, so why not tell us what you&#39;d like to see and save us some time ?<br>
&gt;<br>
&gt; thanks<br>
&gt;<br>
&gt; Antoine<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Le mer. 24 juin 2015 à 11:13, Mark Struberg &lt;<a href="mailto:struberg@yahoo.de">struberg@yahoo.de</a>&gt; a écrit :<br>
&gt; Jozef, read the rest of the meeting minutes as well. Throne and I enlisted dozen of REAL use cases where it is needed.<br>
&gt;<br>
&gt; &gt; Does the @RequestScoped hack really address customers&#39; problem?<br>
&gt; Yes it does. In the final spec a programmer could programmatically enable the request context and ends it again IF he needs it. But today he cannot. And many users code really needs it. So the only thing we can do TODAY is to enable it by default.<br>
&gt;<br>
&gt; &gt; * A CDI implementation may add such hack by itself - no need to have it<br>
&gt; &gt; the spec temporarily<br>
&gt; Well that is an option but the users then cannot rely on it.<br>
&gt;<br>
&gt;<br>
&gt; And no, it is perfectly implementable as it is worded right now.<br>
&gt;<br>
&gt; LieGrue,<br>
&gt; strub<br>
&gt;<br>
&gt;<br>
&gt; &gt; Am 24.06.2015 um 10:50 schrieb Jozef Hartinger &lt;<a href="mailto:jharting@redhat.com">jharting@redhat.com</a>&gt;:<br>
&gt; &gt;<br>
&gt; &gt; Hi all,<br>
&gt; &gt;<br>
&gt; &gt; unfortunately I did not make it to the meeting yesterday. After reading<br>
&gt; &gt; the transcript I found out that the @RequestScoped hack is still being<br>
&gt; &gt; added to the EDR. What do I mean by &quot;@RequestScoped hack&quot;?<br>
&gt; &gt; By that I am referring to the following part of the spec:<br>
&gt; &gt;<br>
&gt; &gt; &quot;<br>
&gt; &gt; In Java SE:<br>
&gt; &gt; The request scope is active during any method invocation.<br>
&gt; &gt; The request context is destroyed when the container is shut down.<br>
&gt; &gt; &quot;<br>
&gt; &gt;<br>
&gt; &gt; This is vague, almost undefined and not correctly implementable. Most<br>
&gt; &gt; importantly, everyone seems to agree that it would be a bad idea for<br>
&gt; &gt; this to end up in the final spec. Instead, it is supposed to be replaced<br>
&gt; &gt; entirely by ContextControl API (<a href="https://issues.jboss.org/browse/CDI-530" rel="noreferrer" target="_blank">https://issues.jboss.org/browse/CDI-530</a>)<br>
&gt; &gt; post EDR1.<br>
&gt; &gt;<br>
&gt; &gt; Yet, we are adding this hack to EDR1 for the meantime. Why? The only<br>
&gt; &gt; argument to back this was &quot;supporting existing libraries and applications&quot;.<br>
&gt; &gt;<br>
&gt; &gt; That seems reasonable, doesn&#39;t it? Well, no. Antoine took a detailed<br>
&gt; &gt; look into probably the most prominent CDI library - DeltaSpike. Yes, you<br>
&gt; &gt; can find @RequestScoped beans in DeltaSpike. You can find Servlet<br>
&gt; &gt; artifact producers, JSF view root and navigation handlers, etc. And<br>
&gt; &gt; that&#39;s it. Nothing one could really use outside of the EE stack.<br>
&gt; &gt;<br>
&gt; &gt; That&#39;s not a coincidence. When a user marks a bean as @RequestScoped we<br>
&gt; &gt; can assume they do it for a reason. The reason most likely would be to<br>
&gt; &gt; scope the state per &quot;task&quot; (often HTTP request processing) and isolate<br>
&gt; &gt; the state from the state of other tasks. That&#39;s very different from the<br>
&gt; &gt; @Singleton-like behavior that the @RequestScoped hack adds. Therefore,<br>
&gt; &gt; even if a library exists that relies on @RequestScoped it is not going<br>
&gt; &gt; to work properly anyway. The @RequestScoped hack just suppresses a fast<br>
&gt; &gt; failure and trades it for weird state inconsistencies later.<br>
&gt; &gt;<br>
&gt; &gt; Another part of the argument is &quot;existing applications&quot;. More specifically:<br>
&gt; &gt;<br>
&gt; &gt; &quot;struberg: well, I have a few customers with 10k++ classes. And some<br>
&gt; &gt; core components use it heavily&quot;<br>
&gt; &gt;<br>
&gt; &gt; Does the @RequestScoped hack really address customers&#39; problem? Remember<br>
&gt; &gt; that the @RequestScoped hack is planned to be temporary and replaced<br>
&gt; &gt; with proper context control post EDR1.<br>
&gt; &gt; Are those customers planning to migrate to EDR1 implementation (Weld<br>
&gt; &gt; Alpha probably) before the spec gets context control? Do they expect to<br>
&gt; &gt; take their &quot;10k++ class&quot; Java EE applications, throw the EE container<br>
&gt; &gt; out entirely and run the *unmodified* application in a plain Java SE<br>
&gt; &gt; environment with CDI SE? Will their apps work even if their<br>
&gt; &gt; @RequestScoped beans start behaving like singletons?<br>
&gt; &gt; Probably not, right?<br>
&gt; &gt;<br>
&gt; &gt; And then we have early adopters of CDI 2.0. Why should they be exposed<br>
&gt; &gt; to magical hacks that we know are going to disappear later?<br>
&gt; &gt;<br>
&gt; &gt; And let&#39;s not forget that:<br>
&gt; &gt; * CDI implementations already have their own APIs for controlling<br>
&gt; &gt; contexts that can be used if needed<br>
&gt; &gt; * A CDI implementation may add such hack by itself - no need to have it<br>
&gt; &gt; the spec temporarily<br>
&gt; &gt;<br>
&gt; &gt; Therefore, I cannot see a single reason for polluting the spec with<br>
&gt; &gt; temporary hacks.<br>
&gt; &gt;<br>
&gt; &gt; Jozef<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; cdi-dev mailing list<br>
&gt; &gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt; &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; &gt;<br>
&gt; &gt; 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>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; cdi-dev mailing list<br>
&gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><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 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>
&gt;<br>
&gt; _______________________________________________<br>
&gt; cdi-dev mailing list<br>
&gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><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 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>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div></div>