[wildfly-dev] Service assumptions and the web profile

Kabir Khan kabir.khan at jboss.com
Wed Jun 4 09:57:53 EDT 2014


Another issue would be if service A has an optional dependency (as described, not using the actual optional dependency) on service B.
We’re describing allowing A to react if B shows up. Should we also react if B goes away?

On 4 Jun 2014, at 13:39, Jeff Mesnil <jmesnil at redhat.com> wrote:

> 
> On 3 Jun 2014, at 22:01, Brian Stansberry <brian.stansberry at redhat.com> wrote:
> 
>>> One obvious question with this scheme is: what happens when Y is added,
>>> after the fact?  The answer to this question depends on X.  X must, in
>>> the same transaction, detect the addition of Y and decide what to do.
>>> Several actions are possible, depending on how X works and how its
>>> dependency on Y works.  Options include automatically removing and
>>> rebuilding services with the new dependency, retroactively modifying X
>>> in some way so as to update it without stopping it, or simply ignoring
>>> the addition of Y, using a "reload-required" or similar state to
>>> indicate to the user that the running system is inconsistent with the
>>> stored model.
>>> 
>>> I know we don't really have any APIs to directly facilitate these
>>> concepts, but this is a part of what the management SPI redesign is all
>>> about.  In the new model, one will be able to express optional
>>> dependencies at a resource level rather than a service level.
>> 
>> Jeff Mesnil -- I'm curious how useful the internal notification stuff 
>> you've added in the existing code will be for this use case. Prior to 
>> that there was nothing at all that X could count on to become aware of 
>> the later addition Y.
> 
> Notifications would work a the resource level.
> Notifications for added/removed resources are emitted[1] at the end of the step that adds/removes a resource in the MODEL stage.
> 
> So a resource X could register a notification listener on the resource Y's path address.
> When the Y resource is added, the listener will be notified and X would be notified of the addition of Y and act accordingly.
> 
> If I understand the example correctly, when a resource X is added, it could check whether the resource Y is already there and use it if that’s the case.
> Otherwise, it would register a notification listener and postpone this execution until the resource Y is added (with no guarantee it ever will).
> 
> [1] https://github.com/jmesnil/wildfly/commits/WFLY-266_WFLY-3159_notification_support_and_jmx#diff-889ac0c285b120937da9477f6d61ab1dR689
> -- 
> Jeff Mesnil
> JBoss, a division of Red Hat
> http://jmesnil.net/
> 
> 
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev




More information about the wildfly-dev mailing list