You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@polygene.apache.org by "Paul Merlin (JIRA)" <ji...@apache.org> on 2016/12/31 14:03:58 UTC

[jira] [Updated] (POLYGENE-129) @PreDestroy and @PostConstruct in lieu of initializable and service activation with

     [ https://issues.apache.org/jira/browse/POLYGENE-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Merlin updated POLYGENE-129:
---------------------------------
    Issue Type: Improvement  (was: Bug)
       Summary: @PreDestroy and @PostConstruct in lieu of initializable and service activation with   (was: Review the different activation/initialization/lifecycle methods)

> @PreDestroy and @PostConstruct in lieu of initializable and service activation with 
> ------------------------------------------------------------------------------------
>
>                 Key: POLYGENE-129
>                 URL: https://issues.apache.org/jira/browse/POLYGENE-129
>             Project: Polygene
>          Issue Type: Improvement
>            Reporter: Niclas Hedhman
>
> Kent wrote on mailing list;
> {quote}
> I agree that the mix and match between composites and mixin declarations of the same @Activators concept might lead to confusion - not a good idea.
> But a whole new thought .... aren't we reinventing the wheel here.
> We have Initializable interface - declaring a method (on the mixin) invoked after construction. We have ServiceActivation - with 2 initialize/destroy methods implemented by a mixin - and sort of referenced from the declarations on the composites.
> We have @Activators -- that may be declared on the composite - with wide flexibility implementation-wise.
> But .... the JDK already has @PostConstruct and @PreDestroy annotations. These were originally JEE stuff, but have been in the JDK for several years. And it is the same thing! Keeping a special Initializable interface is, frankly, a quite dated way of doing stuff.
> I would say we should add support for declaring @PostConstruct and @PreDestroy on Mixins - and support for @PostConstruct on plain objects (instantiated by ObjectFactory). And simply remove (or just deprecate) Initializable and ServiceActivation alltogether.
> I am more uncertain whether the @Activators should be kept or not. On one hand I cannot find a single usage in the whole codebase using beforeActivation and afterPassivation - so not sure anyone would miss those features.
> On the other hand it might be handy to be able to reuse the same activation logic across several composites - And there could be some potential of reusing the Activator as a listener for UnitOfWork activation/passivation instead of module activation/passivation. The afterPassivation could have some usages in that context.
> So I think we should keep that concept for now.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)