-
Enhancement
-
Resolution: Done
-
Major
-
1.2.0.Beta2
-
None
-
None
LifecycleContext's complete() method should be allowed to be called before asynchronous() is called in order to simplify coordination with external executor tasks. Since a lifecycle method is expected to call asynchronous() only after it is guaranteed that an asynchronous lifecycle operation will complete, and such a guarantee can only come if the executor has accepted the task, and the task that the executor has accepted might execute before the calling thread gets a chance to call asynchronous(), we must allow complete() to come first (in which case calling asynchronous() will effectively be a no-operation).