[ https://issues.apache.org/jira/browse/SLING-4417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14528496#comment-14528496 ]
Georg Henzler commented on SLING-4417: -------------------------------------- @[~cziegeler] I am aware that state is lost when bundles restart... there is quite a few cases in health checks when the recent history can be nice to have (and if there is no "negative history" after a bundle restart, it's fine to be green :)). I personally would not have a concern making the immediate the default and I think it will be a lot better understandable for developers writing checks (as then the behaviour is in line with servlets, and developers are also aware that after a bundle restart servlet state is lost). Also from a backward compatibility perspective there should not be a problem (who would have written checks that rely on instance variables being reset after each run?). I agree with [~cziegeler] for "it's not the task of the HC core to provide a way for implementations to keep state". > 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)