You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Raymond Augé (Jira)" <ji...@apache.org> on 2020/05/29 19:48:00 UTC

[jira] [Assigned] (FELIX-6281) Potential class space issues for getLogger(Bundle ...)

     [ https://issues.apache.org/jira/browse/FELIX-6281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Raymond Augé reassigned FELIX-6281:
-----------------------------------

    Assignee: Raymond Augé

> Potential class space issues for getLogger(Bundle ...)
> ------------------------------------------------------
>
>                 Key: FELIX-6281
>                 URL: https://issues.apache.org/jira/browse/FELIX-6281
>             Project: Felix
>          Issue Type: Improvement
>          Components: Log Service
>    Affects Versions: log-1.2.2
>            Reporter: Tom Watson
>            Assignee: Raymond Augé
>            Priority: Major
>
> The method org.osgi.service.log.LoggerFactory.getLogger(Bundle, String, Class<L>) can get a cast exception on the return from org.apache.felix.log.LogServiceImpl.getLogService(Bundle) if the specified bundle is wired to another version of the org.osgi.service.log package and there is another LogService registered using that version of the package.
>  
> There are a few other issues with the approach of using the specified bundle's context.
>  * The bundle may not have a valid BundleContext if it is not STARTING/STOPPING/ACTIVE
>  * If there is no LogService registered with the other package then there will be no available ServiceReference
>  * The state check for RESOLVED || ACTIVE is problematic because it omits STARTING/STOPPING but it also lets it try to get a context for a RESOLVED bundle which will cause an NPE
>  
> Instead the method should allow you to get a logger as long as the bundle is not UNINSTALLED in my opinion.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)