<div dir="ltr">I just realized, it&#39;w 3 days total. <div>Given, I have a total of 15 working days with 3 Java/IT related conferences confirmed as speaker between Sep and Nov (ApacheCon EU, JavaOne EC duties and DevoXX Morocco) I&#39;m afraid, despite being very active CDI (1.0) users my client and project will not grant me any paid leave to attend the F2F, so at most it looks like I&#39;ll arrive in the course of Fri and be there all of Sat.</div><div><br></div><div>Will see how the agenda shapes up. Especially on the JMS topic I&#39;d love to participate in discussions since I not only did something with JMS and CDI events but also am in the JMS 2.1 EG. Sorry to be only available for part of it but I&#39;m not paid to speak or attend these kinds of meetings like some of you might by your companies;-)</div><div><br></div><div>Werner<div class="gmail_extra">
<br><div class="gmail_quote">On Tue, Aug 25, 2015 at 1:19 PM,  <span dir="ltr">&lt;<a href="mailto:cdi-dev-request@lists.jboss.org" target="_blank">cdi-dev-request@lists.jboss.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send cdi-dev mailing list submissions to<br>
        <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<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>
or, via email, send a message with subject or body &#39;help&#39; to<br>
        <a href="mailto:cdi-dev-request@lists.jboss.org">cdi-dev-request@lists.jboss.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:cdi-dev-owner@lists.jboss.org">cdi-dev-owner@lists.jboss.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than &quot;Re: Contents of cdi-dev digest...&quot;<br>
<br>
<br>
Today&#39;s Topics:<br>
<br>
   1. Re: master branch in cdi-spec GIT repo (Mark Struberg)<br>
   2. [JBoss JIRA] (CDI-552) Add support for injection, decorators<br>
      and interceptors on &quot;new-ed&quot; objects (Antoine Sabot-Durand (JIRA))<br>
   3. F2F meeting Prioritization (Antoine Sabot-Durand)<br>
   4. F2F participants (Antoine Sabot-Durand)<br>
   5. Re: F2F participants (Antonio Goncalves)<br>
   6. Re: JMS 2.1: Proposal to allow any CDI managed bean in a Java<br>
      EE application to listen for JMS messages (John D. Ament)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Mon, 24 Aug 2015 22:36:09 -0700<br>
From: Mark Struberg &lt;<a href="mailto:struberg@yahoo.de">struberg@yahoo.de</a>&gt;<br>
Subject: Re: [cdi-dev] master branch in cdi-spec GIT repo<br>
To: &quot;<a href="mailto:antoine@sabot-durand.net">antoine@sabot-durand.net</a>&quot; &lt;<a href="mailto:antoine@sabot-durand.net">antoine@sabot-durand.net</a>&gt;,<br>
        &quot;<a href="mailto:jharting@redhat.com">jharting@redhat.com</a>&quot; &lt;<a href="mailto:jharting@redhat.com">jharting@redhat.com</a>&gt;,    &quot;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&quot;<br>
        &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
Message-ID:<br>
        &lt;<a href="mailto:1440480969.74018.YahooMailIosMobile@web121604.mail.ne1.yahoo.com">1440480969.74018.YahooMailIosMobile@web121604.mail.ne1.yahoo.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;us-ascii&quot;<br>
<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/20150824/dd3066a4/attachment-0001.html" rel="noreferrer" target="_blank">http://lists.jboss.org/pipermail/cdi-dev/attachments/20150824/dd3066a4/attachment-0001.html</a><br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Tue, 25 Aug 2015 03:26:28 -0400 (EDT)<br>
From: &quot;Antoine Sabot-Durand (JIRA)&quot; &lt;<a href="mailto:issues@jboss.org">issues@jboss.org</a>&gt;<br>
Subject: [cdi-dev] [JBoss JIRA] (CDI-552) Add support for injection,<br>
        decorators and interceptors on &quot;new-ed&quot; objects<br>
To: <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
Message-ID:<br>
        &lt;JIRA.12579311.1437747419000.25496.1440487588980@Atlassian.JIRA&gt;<br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
<br>
     [ <a href="https://issues.jboss.org/browse/CDI-552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel" rel="noreferrer" target="_blank">https://issues.jboss.org/browse/CDI-552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel</a> ]<br>
<br>
Antoine Sabot-Durand updated CDI-552:<br>
-------------------------------------<br>
    Issue Type: Feature Request  (was: Epic)<br>
<br>
<br>
&gt; Add support for injection, decorators and interceptors on &quot;new-ed&quot; objects<br>
&gt; --------------------------------------------------------------------------<br>
&gt;<br>
&gt;                 Key: CDI-552<br>
&gt;                 URL: <a href="https://issues.jboss.org/browse/CDI-552" rel="noreferrer" target="_blank">https://issues.jboss.org/browse/CDI-552</a><br>
&gt;             Project: CDI Specification Issues<br>
&gt;          Issue Type: Feature Request<br>
&gt;          Components: Beans, Decorators, Interceptors, Resolution<br>
&gt;    Affects Versions: 2.0-EDR1<br>
&gt;            Reporter: Rogerio Liesenfeld<br>
&gt;<br>
&gt; The current CDI programming model is not friendly to object-oriented code or proper class design, and does not support true POJOs.<br>
&gt; With this I mean:<br>
&gt; 1) For object-oriented code, I need to be able to instantiate and use *stateful*, short-lived, objects, while still having @Inject fields in it. I shouldn&#39;t be forced to have a stateless (non-OO) class (ie, a [Transaction Script|<a href="http://martinfowler.com/eaaCatalog/transactionScript.html]" rel="noreferrer" target="_blank">http://martinfowler.com/eaaCatalog/transactionScript.html]</a>).<br>
&gt; 2) Most classes in a business app are not meant to be used as subclasses, ie, they are not designed for extension; therefore, I should be able to make them {{final}} (see <a href="http://lcsd05.cs.tamu.edu/slides/keynote.pdf" rel="noreferrer" target="_blank">http://lcsd05.cs.tamu.edu/slides/keynote.pdf</a>, page 26, or item 17 in the [book|<a href="http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683]" rel="noreferrer" target="_blank">http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683]</a>).<br>
&gt; 3) For a class to truly be a POJO, I must be able to make *full use* of the Java language when designing and implementing it; arbitrary constraints like &quot;can&#39;t be final&quot;, &quot;can&#39;t have final instance fields&quot;, &quot;cannot be instantiated directly&quot;, etc. prevent it from being a &quot;plain-old&quot; Java object.<br>
&gt; Specifically, what I want is to be able to write the following in a JSF/CDI backing bean for a web UI:<br>
&gt; {code}<br>
&gt; MyBusinessService businessOp = new MyBusinessService(fieldFromUI1, fieldFromUI2, listWithMoreDataFromUI);<br>
&gt; businessOp.performSomeBusinessOperation(otherArgs);<br>
&gt; String result1 = businessOp.getResultXyz();<br>
&gt; List&lt;result&gt; moreResultData = businessOp.getFinalData();<br>
&gt; {code}<br>
&gt; ... while having MyBusinessService be a CDI bean containing one or more @Inject/@PersistenceContext fields (typically, an EntityManager and perhaps other service beans).<br>
&gt; Without this ability, application developers are forced to create procedural Transation Scripts (stateless service class, which tend to have low cohesion).<br>
&gt; For a CDI implementation to do this, it will need to use the java.lang.instrument API, like others tools (AspectJ, JBoss AOP, JBoss Byteman, JaCoCo, JMockit) already do.<br>
&gt; Also, for reference, the Spring framework already supports it for some time: <a href="http://docs.spring.io/spring/docs/3.0.0.M3/spring-framework-reference/html/ch08s08.html" rel="noreferrer" target="_blank">http://docs.spring.io/spring/docs/3.0.0.M3/spring-framework-reference/html/ch08s08.html</a><br>
<br>
<br>
<br>
--<br>
This message was sent by Atlassian JIRA<br>
(v6.3.15#6346)<br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Tue, 25 Aug 2015 08:08:36 +0000<br>
From: Antoine Sabot-Durand &lt;<a href="mailto:antoine@sabot-durand.net">antoine@sabot-durand.net</a>&gt;<br>
Subject: [cdi-dev] F2F meeting Prioritization<br>
To: CDI Java EE Specification &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
Message-ID:<br>
        &lt;<a href="mailto:CABu-YBSgPkzMaTYh5U3%2BZ%2BSSqAceG_6iDOAOfYCGqdGGZZoy6Q@mail.gmail.com">CABu-YBSgPkzMaTYh5U3+Z+SSqAceG_6iDOAOfYCGqdGGZZoy6Q@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
Hi guys,<br>
<br>
<br>
Just shared the following google spreadsheet for topics during the F2F<br>
meeting.<br>
<a href="https://docs.google.com/a/sabot-durand.net/spreadsheets/d/1Frlfv39Nixalt783dx6Yv7rvYWuFcoumlzZa4W5F8dw/edit?usp=sharing" rel="noreferrer" target="_blank">https://docs.google.com/a/sabot-durand.net/spreadsheets/d/1Frlfv39Nixalt783dx6Yv7rvYWuFcoumlzZa4W5F8dw/edit?usp=sharing</a><br>
<br>
Please add your own topic. When done, I propose we prioritize them by<br>
voting for each topic and have someone in charge to start working on each<br>
of them to arrive to meeting with preliminary work.<br>
<br>
Antoine<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/20150825/0b95cf96/attachment-0001.html" rel="noreferrer" target="_blank">http://lists.jboss.org/pipermail/cdi-dev/attachments/20150825/0b95cf96/attachment-0001.html</a><br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Tue, 25 Aug 2015 08:23:58 +0000<br>
From: Antoine Sabot-Durand &lt;<a href="mailto:antoine@sabot-durand.net">antoine@sabot-durand.net</a>&gt;<br>
Subject: [cdi-dev] F2F participants<br>
To: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
Message-ID:<br>
        &lt;<a href="mailto:CABu-YBRHvvUYMRk5tQbOT8TKuZwys_HijSakfA_nWGgLx1mEOg@mail.gmail.com">CABu-YBRHvvUYMRk5tQbOT8TKuZwys_HijSakfA_nWGgLx1mEOg@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
Hi,<br>
<br>
I added a sheet for participants to the shared spreadsheet:<br>
<br>
<a href="https://docs.google.com/a/sabot-durand.net/spreadsheets/d/1Frlfv39Nixalt783dx6Yv7rvYWuFcoumlzZa4W5F8dw/edit?usp=sharing" rel="noreferrer" target="_blank">https://docs.google.com/a/sabot-durand.net/spreadsheets/d/1Frlfv39Nixalt783dx6Yv7rvYWuFcoumlzZa4W5F8dw/edit?usp=sharing</a><br>
<br>
You can add your name and other informations there.<br>
<br>
Antoine<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/20150825/6a12fe52/attachment-0001.html" rel="noreferrer" target="_blank">http://lists.jboss.org/pipermail/cdi-dev/attachments/20150825/6a12fe52/attachment-0001.html</a><br>
<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Tue, 25 Aug 2015 11:51:23 +0200<br>
From: Antonio Goncalves &lt;<a href="mailto:antonio.goncalves@gmail.com">antonio.goncalves@gmail.com</a>&gt;<br>
Subject: Re: [cdi-dev] F2F participants<br>
To: Antoine Sabot-Durand &lt;<a href="mailto:antoine@sabot-durand.net">antoine@sabot-durand.net</a>&gt;<br>
Cc: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
Message-ID:<br>
        &lt;CA+ZZq99Ph8U2wSKWabMO2i=<a href="mailto:n9DR-xwv9GmdRggE13qPdZepuyA@mail.gmail.com">n9DR-xwv9GmdRggE13qPdZepuyA@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
I&#39;ve also added a &quot;Location Tab&quot; (for Antoine to give us all the details of<br>
the location + Hotels if needed) and an &quot;Agenda Tab&quot; so we can set up our<br>
agenda (I&#39;ve added &quot;Evening&quot; in case we want to have diner somewhere ;o)<br>
<br>
Antonio<br>
<br>
On Tue, Aug 25, 2015 at 10:23 AM, Antoine Sabot-Durand &lt;<br>
<a href="mailto:antoine@sabot-durand.net">antoine@sabot-durand.net</a>&gt; wrote:<br>
<br>
&gt; Hi,<br>
&gt;<br>
&gt; I added a sheet for participants to the shared spreadsheet:<br>
&gt;<br>
&gt;<br>
&gt; <a href="https://docs.google.com/a/sabot-durand.net/spreadsheets/d/1Frlfv39Nixalt783dx6Yv7rvYWuFcoumlzZa4W5F8dw/edit?usp=sharing" rel="noreferrer" target="_blank">https://docs.google.com/a/sabot-durand.net/spreadsheets/d/1Frlfv39Nixalt783dx6Yv7rvYWuFcoumlzZa4W5F8dw/edit?usp=sharing</a><br>
&gt;<br>
&gt; You can add your name and other informations there.<br>
&gt;<br>
&gt; Antoine<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<br>
&gt; code under the Apache License, Version 2 (<br>
&gt; <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<br>
&gt; provided on this list, the provider waives all patent and other<br>
&gt; intellectual property rights inherent in such information.<br>
&gt;<br>
<br>
<br>
<br>
--<br>
Antonio Goncalves<br>
Software architect, Java Champion and Pluralsight author<br>
<br>
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 &lt;<a href="http://www.linkedin.com/in/agoncal" rel="noreferrer" target="_blank">http://www.linkedin.com/in/agoncal</a>&gt; |<br>
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; | Paris<br>
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>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/20150825/1c303413/attachment-0001.html" rel="noreferrer" target="_blank">http://lists.jboss.org/pipermail/cdi-dev/attachments/20150825/1c303413/attachment-0001.html</a><br>
<br>
------------------------------<br>
<br>
Message: 6<br>
Date: Tue, 25 Aug 2015 11:19:16 +0000<br>
From: &quot;John D. Ament&quot; &lt;<a href="mailto:john.d.ament@gmail.com">john.d.ament@gmail.com</a>&gt;<br>
Subject: Re: [cdi-dev] JMS 2.1: Proposal to allow any CDI managed bean<br>
        in a Java EE application to listen for JMS messages<br>
To: arjan tijms &lt;<a href="mailto:arjan.tijms@gmail.com">arjan.tijms@gmail.com</a>&gt;, Nigel Deakin<br>
        &lt;<a href="mailto:nigel.deakin@oracle.com">nigel.deakin@oracle.com</a>&gt;<br>
Cc: cdi-dev &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
Message-ID:<br>
        &lt;<a href="mailto:CAOqetn8mn0eWGWVo3AiwJZu_A4nDngsgzj3cjiSqVGUPx09UEA@mail.gmail.com">CAOqetn8mn0eWGWVo3AiwJZu_A4nDngsgzj3cjiSqVGUPx09UEA@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
Technically speaking, I can have a bean like this:<br>
<br>
@ApplicationScoped<br>
public class Foo {<br>
    public void onStart(@Observes @initialized(ApplicationScoped.class)<br>
Object obj) {<br>
       // do some work here<br>
    }<br>
}<br>
<br>
That bean will get instantiated by the container, even if it doesn&#39;t have<br>
any injection targets.<br>
<br>
John<br>
<br>
On Mon, Aug 24, 2015 at 7:18 PM arjan tijms &lt;<a href="mailto:arjan.tijms@gmail.com">arjan.tijms@gmail.com</a>&gt; wrote:<br>
<br>
&gt; Hi,<br>
&gt;<br>
&gt; On Mon, Aug 24, 2015 at 9:47 PM, Nigel Deakin &lt;<a href="mailto:nigel.deakin@oracle.com">nigel.deakin@oracle.com</a>&gt;<br>
&gt; wrote:<br>
&gt; &gt; As I understand it, if you want to create a CDI managed bean (so that it<br>
&gt; is<br>
&gt; &gt; managed by CDI) then you have to inject it into some code somewhere.<br>
&gt;<br>
&gt; This is not exclusively the case really;<br>
&gt;<br>
&gt; There are generally 3 options:<br>
&gt;<br>
&gt; 1. Bean is injected<br>
&gt; 2. Bean is named (using @Named annotation or getName() of a Bean&lt;T&gt;<br>
&gt; returns non null) and referenced by EL<br>
&gt; 3. Bean is programmatically created via BeanManager<br>
&gt;<br>
&gt; In saw that the proposal essentially has an example of 3. already;<br>
&gt; using the Instance injection. There are 2 variants on this where code<br>
&gt; either uses the BeanManager directly or uses the &quot;shortcut&quot;<br>
&gt; CDI.current().select(...);<br>
&gt;<br>
&gt; Option 3. is often used when something needs a bean of a specific type<br>
&gt; to do something. E.g. in JSF 2.3 a user would define a bean like this:<br>
&gt;<br>
&gt; @FacesDataModel(forClass = MyCollection.class)<br>
&gt; public class MyCollectionModel&lt;E&gt; extends DataModel&lt;E&gt; { ... }<br>
&gt;<br>
&gt; And it just sits there (the user doesn&#39;t have to create it).<br>
&gt;<br>
&gt; When a component needs this, it tries to obtain it programmatically,<br>
&gt; via something like:<br>
&gt;<br>
&gt; cdi.select(<br>
&gt;     DataModel.class,<br>
&gt;     new FacesDataModelAnnotationLiteral(MyCollection.class)<br>
&gt; ).get();<br>
&gt;<br>
&gt; So the *expectation* may be that a user just defines a CDI based JMS<br>
&gt; listener bean, and that the container will then find those beans when<br>
&gt; it needs to deliver a message.<br>
&gt;<br>
&gt; Of course this is not entirely trivial in the JMS listener case. The<br>
&gt; JMS runtime can not easily ask CDI for all active instances of say the<br>
&gt; request scope, and then ask for beans to be created in all those<br>
&gt; scopes and then deliver the message to all of them.<br>
&gt;<br>
&gt;<br>
&gt; &gt; If I understand things correctly, if this is a normal CDI bean then this<br>
&gt; &gt; alone is not sufficient to cause an instance of the bean to be created.<br>
&gt; &gt;<br>
&gt; &gt; You also need to<br>
&gt; &gt; (1) inject it into some other bean<br>
&gt; &gt; (2) create that other bean and<br>
&gt; &gt; (3) call a method on the MyListenerBean to trigger lazy initialisation.<br>
&gt;<br>
&gt; This is one way for sure, but one alternative worth mentioning is to<br>
&gt; eagerly instantiatie the scoped bean whenever its scope starts. For<br>
&gt; OmniFaces we have implemented a separate annotation for this for CDI<br>
&gt; 1.0, see <a href="http://showcase.omnifaces.org/cdi/Eager" rel="noreferrer" target="_blank">http://showcase.omnifaces.org/cdi/Eager</a><br>
&gt;<br>
&gt; For CDI 1.1, there&#39;s the @Initialized and @Destroyed annotations that<br>
&gt; can be used to observe any scope where the implementing Context throws<br>
&gt; events for these (which are all Java EE provided scopes as far as I<br>
&gt; know). See <a href="https://rmannibucau.wordpress.com/2015/03/10/cdi-and-startup" rel="noreferrer" target="_blank">https://rmannibucau.wordpress.com/2015/03/10/cdi-and-startup</a><br>
&gt; and <a href="https://issues.jboss.org/browse/CDI-86" rel="noreferrer" target="_blank">https://issues.jboss.org/browse/CDI-86</a><br>
&gt;<br>
&gt; One CDI technicality is that if the listener method is called via the<br>
&gt; proxy, I think it will resolve to the current scope that thread is in.<br>
&gt; So this may mean the JMS endpoint that calls the JMS listener bean can<br>
&gt; only call the actual bean&#39;s method, not the proxied one. I&#39;m sure the<br>
&gt; CDI experts here will have more knowledge about this.<br>
&gt;<br>
&gt; Hope this helps.<br>
&gt;<br>
&gt; Kind regards,<br>
&gt; Arjan Tijms<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; I&#39;m trying to avoid getting ahead of myself here. My current proposals<br>
&gt; &gt; simply apply to normal CDI managed beans created in the normal way (via<br>
&gt; &gt; injection and lazy initialisation). But I could certainly see a benefit<br>
&gt; in<br>
&gt; &gt; extending this to allow JMS listener beans to be created in other ways.<br>
&gt; In<br>
&gt; &gt; particular:<br>
&gt; &gt;<br>
&gt; &gt; (a) Creating the bean instance as soon as the bean into which it is<br>
&gt; injected<br>
&gt; &gt; enters a new scope rather than waiting for the application to call a<br>
&gt; method<br>
&gt; &gt; on it (so-called eager initialisation). That sounds relatively<br>
&gt; &gt; straightforward to me; this could either be a new standard CDI feature<br>
&gt; &gt; available to all normal-scoped beans, or something specific to beans<br>
&gt; &gt; annotated with @JMSListener.<br>
&gt; &gt;<br>
&gt; &gt; (b) Creating the bean instance without the need to inject it anywhere.<br>
&gt; As<br>
&gt; &gt; you suggest, in the case of ApplicationScoped beans this would make JMS<br>
&gt; &gt; listener beans more like MDBs. But it might be equally useful to support<br>
&gt; &gt; this for other normal scopes. For example, could we annotate a<br>
&gt; &gt; @RequestScoped bean so that every time a new request scope started, an<br>
&gt; &gt; instance of the bean for that scope was automatically created?<br>
&gt; &gt;<br>
&gt; &gt; Or if we manage to get the @Startup annotation to Commons Annotation :<br>
&gt; &gt;<br>
&gt; &gt; @Startup<br>
&gt; &gt; public class MyListenerBean{<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; @JMSListener(lookup=&quot;java:global/java:global/Trades&quot;,type=JMSListener.Type.TOPIC<br>
&gt; &gt; )<br>
&gt; &gt;    public void deliver(Message message) {<br>
&gt; &gt;      ...<br>
&gt; &gt;    }<br>
&gt; &gt; }<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; That looks as if it&#39;s tied to ApplicationScoped. I&#39;d rather look for<br>
&gt; &gt; something more general.<br>
&gt; &gt;<br>
&gt; &gt; Thanks for your comments so far. You&#39;re raising issues I have been<br>
&gt; thinking<br>
&gt; &gt; about for some time.<br>
&gt; &gt;<br>
&gt; &gt; Nigel<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Just thinking here<br>
&gt; &gt;<br>
&gt; &gt; Antonio<br>
&gt; &gt;<br>
&gt; &gt; On Mon, Aug 24, 2015 at 6:30 PM, Nigel Deakin &lt;<a href="mailto:nigel.deakin@oracle.com">nigel.deakin@oracle.com</a>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Over in the JMS 2.1 expert group I&#39;ve just published some proposals to<br>
&gt; &gt;&gt; allow any CDI managed bean in a Java EE<br>
&gt; &gt;&gt; application to listen for JMS messages. This would be implemented as a<br>
&gt; &gt;&gt; standard CDI portable extension and would become<br>
&gt; &gt;&gt; a mandatory part of a full Java EE 8 application server.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; I would welcome any comments from the CDI spec experts here. If you&#39;re<br>
&gt; &gt;&gt; interested in helping, please take a look at<br>
&gt; &gt;&gt; <a href="https://java.net/projects/jms-spec/pages/CDIBeansAsJMSListeners" rel="noreferrer" target="_blank">https://java.net/projects/jms-spec/pages/CDIBeansAsJMSListeners</a><br>
&gt; &gt;&gt; and send comments or questions to me or to the public<br>
&gt; &gt;&gt; <a href="mailto:users@jms-spec.java.net">users@jms-spec.java.net</a> alias.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thanks,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Nigel<br>
&gt; &gt;&gt; JMS 2.1 specification lead<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; cdi-dev mailing list<br>
&gt; &gt;&gt; <a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br>
&gt; &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;&gt;<br>
&gt; &gt;&gt; Note that for all code provided on this list, the provider licenses the<br>
&gt; &gt;&gt; code under the Apache License, Version 2<br>
&gt; &gt;&gt; (<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<br>
&gt; &gt;&gt; provided on this list, the provider waives all patent and other<br>
&gt; intellectual<br>
&gt; &gt;&gt; property rights inherent in such information.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; Antonio Goncalves<br>
&gt; &gt; Software architect, Java Champion and Pluralsight author<br>
&gt; &gt;<br>
&gt; &gt; Web site | Twitter | LinkedIn | Pluralsight | Paris JUG | Devoxx France<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<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<br>
&gt; code<br>
&gt; &gt; under the Apache License, Version 2<br>
&gt; &gt; (<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<br>
&gt; &gt; provided on this list, the provider waives all patent and other<br>
&gt; intellectual<br>
&gt; &gt; property rights inherent in such information.<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<br>
&gt; code under the Apache License, Version 2 (<br>
&gt; <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<br>
&gt; provided on this list, the provider waives all patent and other<br>
&gt; intellectual property rights inherent in such information.<br>
&gt;<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://lists.jboss.org/pipermail/cdi-dev/attachments/20150825/9ed0c209/attachment.html" rel="noreferrer" target="_blank">http://lists.jboss.org/pipermail/cdi-dev/attachments/20150825/9ed0c209/attachment.html</a><br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
cdi-dev mailing list<br>
<a href="mailto:cdi-dev@lists.jboss.org">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>
End of cdi-dev Digest, Vol 57, Issue 16<br>
***************************************<br>
</blockquote></div><br></div></div></div>