felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sahoo (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FELIX-2216) Web console needs to be able to use service bundles like obr installed after it
Date Sun, 21 Mar 2010 00:22:27 GMT

    [ https://issues.apache.org/jira/browse/FELIX-2216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12847854#action_12847854

Sahoo commented on FELIX-2216:

I have another question related to the NCDFE. How did ServiceTracker return the object even
though web console was not wired to obr package? Is there a core/compendium issue here as

> Web console needs to be able to use service bundles like obr installed after it
> -------------------------------------------------------------------------------
>                 Key: FELIX-2216
>                 URL: https://issues.apache.org/jira/browse/FELIX-2216
>             Project: Felix
>          Issue Type: Bug
>          Components: Web Console
>    Affects Versions: webconsole-2.0.6
>         Environment: generic
>            Reporter: Sahoo
>             Fix For: webconsole-3.0.0
> When I started web console, I didn't have any obr service bundle in my system. Since
obr is an optional dependency, webconsole started and when I navigated to obr tab, it printed
a nice message stating:
> "RepositoryAdmin Service not available." Then I installed and started obr bundle. Upon
refreshing the obr page in web console, I got:
> java.lang.NoClassDefFoundError: org/osgi/service/obr/RepositoryAdmin
> 	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.getRepositoryAdmin(BundleRepositoryRender.java:434)
> 	at org.apache.felix.webconsole.internal.obr.BundleRepositoryRender.renderContent(BundleRepositoryRender.java:109)
> 	at org.apache.felix.webconsole.AbstractWebConsolePlugin.doGet(AbstractWebConsolePlugin.java:116)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
> 	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:325)
> When I refreshed web console bundle, it started working.
> Looking at the code, I fail to understand why I did not getting NCDFE when I navigated
to that tab for the first time. Any explanation for this?
> I think if web console had a dynamic dependency on org.osgi.service.obr, it could have
been avoided. So, add something like:
> DynamicImport-Package: org.osgi.service.obr
> To make it work, we may also have to pass true while opening the ServiceTracker in BaseWebConsolePlugin.getService
and have appropriate checks to deal with possible ClassCastException.
> This may be applicable to other optional dependencies as well. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message