[
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)