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

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

Ok, I see your point - for servlets there is a well defined contract for the 
lifecycle of a servlet. The http implementation holds the service in memory 
(and calls init/destroy).
You don't need to make a servlet immediate for this to work - using immediate 
actually means that the servlet is instatiated as soon as possible, even if 
there is no http service.
It's true that ultimately you get the same result and the only way with DS is 
to use immediate (which is really unfortunate).
For compatiblity I would still go with the default being false. We can some 
more javadocs to make this clear.

> 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