[ https://issues.apache.org/jira/browse/SLING-6702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15939032#comment-15939032 ]
Felix Meschberger commented on SLING-6702: ------------------------------------------ I appreciate the idea and I agree it makes a lot of sense. But the current implementation has a hidden fragility: If the MetricsService is unregistered, the MetricsService object handed out will be invalid and cause secondary exceptions when recording metrics through it. This is because the consumer of the MetricsService object has no knowledge about the service being unregistered and the object invalid. Maybe a wrapper implementation hiding this in the background and automatically rewiring when the service comes back, might help. (and no, please don't add a "MetricsService.isValid" method ;-) ) > Make MetricsService accessible as easily as a Logger > ---------------------------------------------------- > > Key: SLING-6702 > URL: https://issues.apache.org/jira/browse/SLING-6702 > Project: Sling > Issue Type: Improvement > Components: Extensions > Affects Versions: Commons Metrics 1.2.0 > Reporter: Bertrand Delacretaz > Assignee: Bertrand Delacretaz > Priority: Minor > Fix For: Commons Metrics 1.2.2 > > > Metrics are useful in all classes, not only OSGi components, so getting the > {{MetricsService}} should be as useful as getting a {{Logger}} for example. > I'll add a public {{MetricsServiceFactory}} class to our metrics module, > usable like > {code} > MetricsService ms = > MetricsServiceFactory.getMetricsService(this.getClass()); > {code} > There's already a private {{MetricsServiceFactory}} class in that module, > I'll rename that to {{InternalMetricsServiceFactory}} to avoid confusion. -- This message was sent by Atlassian JIRA (v6.3.15#6346)