[ 
https://issues.apache.org/jira/browse/SLING-4417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14528109#comment-14528109
 ] 

Carsten Ziegeler commented on SLING-4417:
-----------------------------------------

I think immediate is more an anti pattern, which should be used with care and 
thinking. It prevents lazy instantiation and might waste resources for no 
reason. So making true the default feels wrong and is also backwards compatible 
as Bertrand notes.
A lot of HCs are fine with getting created/removed each time.
Pease note that keeping state within the component works only for as long as 
your bundle is running. If someone restarts your bundle for whatever reason, 
the state is gone. It might be fine for your use case, but still the assumption 
that as long as the server is running you have a single instance of your HC 
running is not right.

> HC Annotation should allow to configure "immediate" SCR property
> ----------------------------------------------------------------
>
>                 Key: SLING-4417
>                 URL: https://issues.apache.org/jira/browse/SLING-4417
>             Project: Sling
>          Issue Type: New Feature
>          Components: Health Check
>            Reporter: Georg Henzler
>         Attachments: SLING-4417-HC-Annotation-with-immediate-setting.patch
>
>
> When using @SlingHealthCheck at the moment, the "immediate" property is left 
> to "false" in the SCR descriptor which causes the component object to be 
> created on every call of the health check (making it impossible to keep some 
> state in a private member variable if desired). 
> Let's make the immediate property configurable (the same way it would be 
> provided in the @Component annotation) and make immediate="true" the default 
> (this is a slight change in the behaviour that will not break existing code) 
> for the following reasons:
> - It's more intuitive to think of a HC as singleton (and hence be able to 
> keep some instance variables)
> - It's a tiny little bit better from a performance perspective (the instance 
> does not have to be created on each execution)
> The attached patch includes the (fairly simple) change to 
> annotation(-processor) and the change for two sample components that were 
> using @Component because of this issue.



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

Reply via email to