<div dir="ltr">There is apparently no work going on in any related EE JSR that is covering this? <div>One would think most application servers could benefit from this.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Fri, Jan 31, 2014 at 2:47 AM, David M. Lloyd <span dir="ltr">&lt;<a href="mailto:david.lloyd@redhat.com" target="_blank">david.lloyd@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">
The problem is that deployments may be added and removed at any time, as<br>
can other server ports and services.  The case that this causes a<br>
problem is where a server starts up, mistakenly without an essential<br>
deployment, and the server thinks it&#39;s &quot;up&quot; but actually a required part<br>
is missing, possibly causing the end user to observe a &quot;broken&quot; server.<br>
<div class="HOEnZb"><div class="h5"><br>
On 01/30/2014 05:54 PM, Rodakr wrote:<br>
&gt; Having state machine which set the state from &quot;Starting&quot; to &quot;Running&quot; after all ressources has been initialized, all deployments are finished and server ports are listening could help to define  container &quot;up&quot; mabe.<br>

&gt;<br>
&gt;<br>
&gt;<br>
&gt; Von meinem iPhone gesendet<br>
&gt;<br>
&gt; Am 30.01.2014 um 22:15 schrieb &quot;David M. Lloyd&quot; &lt;<a href="mailto:david.lloyd@redhat.com">david.lloyd@redhat.com</a>&gt;:<br>
&gt;<br>
&gt;&gt; I&#39;ve been sitting on this idea for a while so I thought I&#39;d put it out<br>
&gt;&gt; there and get some feedback on it.<br>
&gt;&gt;<br>
&gt;&gt; Problem: People want things to happen when the container is &quot;up&quot;.<br>
&gt;&gt; Unfortunately, there really isn&#39;t a black-and-white concept for what<br>
&gt;&gt; &quot;up&quot; means.  Often times, the user is simply going for &quot;my application<br>
&gt;&gt; will function correctly&quot;, so they can make a load-balancing decision or<br>
&gt;&gt; perform some other monitoring action.<br>
&gt;&gt;<br>
&gt;&gt; Semantically, the desire would be for some external mechanism to receive<br>
&gt;&gt; a notification when the services corresponding to the specifically<br>
&gt;&gt; applicable components have completely started or are going to stop.  The<br>
&gt;&gt; obvious implementation of such a mechanism is a service which depends on<br>
&gt;&gt; the set of component services.<br>
&gt;&gt;<br>
&gt;&gt; Solution 1: In theory, a user could create a deployment that performs<br>
&gt;&gt; availability tasks in a service which depends on all the requisite<br>
&gt;&gt; services.  The user needs specific knowledge of service names in this<br>
&gt;&gt; case, which may change, or they must use specific technologies (for<br>
&gt;&gt; example, use a singleton EJB which @DependsOn each dependency).<br>
&gt;&gt;<br>
&gt;&gt; Solution 2: Introduce a subsystem which allows definition of different<br>
&gt;&gt; availability configurations.  The configuration would enumerate the<br>
&gt;&gt; items that are required for the configuration to be considered<br>
&gt;&gt; available.  The configuration would be associated with an action.  We<br>
&gt;&gt; would use management.next-style extensibility points to let the user<br>
&gt;&gt; define add-in items like EJBs, servlets, POJOs, MBeans, CDI beans, etc.<br>
&gt;&gt; without the subsystem needing specific knowledge of the service schemes<br>
&gt;&gt; for each.<br>
&gt;&gt;<br>
&gt;&gt; We could make solution 1 work more effectively by providing a more<br>
&gt;&gt; uniform deployment-based dependency mechanism, but that seems more<br>
&gt;&gt; complex to me than just introducing a subsystem and SPI for this purpose.<br>
&gt;&gt;<br>
&gt;&gt; With a subsystem we could bundle actions for things like mod_cluster,<br>
&gt;&gt; other potential future Undertow- and Remoting-based proxies, simple<br>
&gt;&gt; notification schemes like MBean notification or logging, POST<br>
&gt;&gt; notification, and so on.<br>
&gt;&gt;<br>
&gt;&gt; The timeline would not be 8 (obviously), nor 9.  I think having the<br>
&gt;&gt; simplified management SPI in place is a definite prerequisite, else the<br>
&gt;&gt; effort/reward ratio is far too low to justify doing this.  Otherwise, I<br>
&gt;&gt; think this is a simple idea that could be pretty damn useful, so I want<br>
&gt;&gt; to put it out here so it&#39;s in the back of everyone&#39;s mind.<br>
&gt;&gt; --<br>
&gt;&gt; - DML<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; wildfly-dev mailing list<br>
&gt;&gt; <a href="mailto:wildfly-dev@lists.jboss.org">wildfly-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; wildfly-dev mailing list<br>
&gt; <a href="mailto:wildfly-dev@lists.jboss.org">wildfly-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a><br>
&gt;<br>
<br>
<br>
--<br>
- DML<br>
_______________________________________________<br>
wildfly-dev mailing list<br>
<a href="mailto:wildfly-dev@lists.jboss.org">wildfly-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Nicklas Karlsson, +358 40 5062266<div>Vaakunatie 10 as 7, 20780 Kaarina</div>
</div>