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