[ 
http://team.ops4j.org/browse/QI-364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17564#comment-17564
 ] 

Paul Merlin commented on QI-364:
--------------------------------

I rewrote this with 2 interfaces for the clarity of discussion. We could stick 
with Activator only handling both activation and passivation for the sake of 
simplicity. Keeping a single name for both could be a documentation issue. I 
have no strong opinion on this.

What I feel is important is both the varargs on the Declaration interfaces and 
the @Activators annotation taking multiple arguments. This would allow to 
declare several Acti(Passi)vator(s) on each Application/Layer/Module/Service 
and should allow us to do it in a predictable order.
                
> Decoupling Service Activators
> -----------------------------
>
>                 Key: QI-364
>                 URL: http://team.ops4j.org/browse/QI-364
>             Project: Qi4j
>          Issue Type: New Feature
>            Reporter: Niclas Hedhman
>            Priority: Blocker
>             Fix For: 2.0 - Reductionism
>
>
> In 1.x, Activatable was used to get Services up and running. However, I feel 
> that the concepts are mixed up in a bad way, since Activatable initially 
> relied on that the Activatable method was exposed like any other method, and 
> that there could only be one. Later, we added that any Mixin that got 
> instantiated, would have its Activatable methods called. But, a pure Mixin 
> for only the purpose of starting up the service couldn't really be supported.
> Further, internally in Qi4j Runtime, there is an Activation mechanism in 
> place;
>   * User "activate" the application.
>   * The Application activates the Layers.
>   * Each Layer activates the Modules.
>   * Each Module activates the Services (if instantiateOnStartup).
> The current system is fragile (if a Mixin with the start-up code has its 
> method(s) overridden it will not be instantiated), and we need to find a new 
> solution. This will break compatibility, so it is imperative that this is 
> solved prior to 2.0 release.
> Action item 1; *Remove Activatable interface*
> There are possibly a few ways to provide this functionality, listed in 
> individual comments below.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
http://team.ops4j.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to