polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niclas Hedhman (JIRA)" <j...@apache.org>
Subject [jira] [Created] (POLYGENE-295) Activation broken
Date Mon, 26 Mar 2018 04:46:00 GMT
Niclas Hedhman created POLYGENE-295:

             Summary: Activation broken
                 Key: POLYGENE-295
                 URL: https://issues.apache.org/jira/browse/POLYGENE-295
             Project: Polygene
          Issue Type: Bug
    Affects Versions: 3.0.0, 2.1, 2.0
            Reporter: Niclas Hedhman

It is quite possible to get service calls before the activate() method has been called. For
instance, inject a Service into the constructor of an Object and call objectFactory.newObject().
Even if instantiateOnStartup(), the activation is not called first.

On top of that, we have a general issue that the bootstrap code is not really thread-safe
(no effort was made on that), and lazy-initialization may cause model corruption due to that,
which kind of ties in with the Activation system. I suspect that the above problem is some
kind of mixing of concerns and it gets messed up what is supposed to have happened already.

Step 1; Fix that activation is ALWAYS called before method calls.

Step 2; Discuss how to deal with lazy initialization. Either make sure that everything in
Core Runtime is thread-safe, or drop the current lazy initialization, and possibly replace
with a Concern instead (which intercepts the activate() call, and make that happen upon next
method call to the service. That seems to be a lot more straight forward and also inline with
Polygene principles (eat your own dog food).



This message was sent by Atlassian JIRA

View raw message