[ 
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 well?

> 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.

Reply via email to