[
https://issues.apache.org/jira/browse/FELIX-2839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12994132#comment-12994132
]
Valentin Valchev commented on FELIX-2839:
-----------------------------------------
I'm not sure if this is bug. Web-console has few build-in plugins, that in some
cases will fail to initialize. In your case, you don't have the SCR or
Deployment Admin API and the related plugins cannot be instantiated. So,
webconsole logs an warning and continues to sever other build-in plugins.
For me it would be a problem if after logging those errors, the webconsole
cease to work properly or the user gets internal server error.
I also had similar talk with my colleague. As a company providing commercial
osgi solution, it is somehow strange, that you always get an error message, the
first time you open the webconsole. Unfortunately, if this warning is removed,
then it would be quite hard to detect why plugin instantiation failed. As
advanced OSGi user, I personally would like to know why my plugin is not
running. The log message is the description of possible problem, silently
ignoring the problem for me would be a bigger issue.
There was discussion about having those plugins in separate jar files, but if
you need them you will install 3 file instead of one. With the current
webconsole you need to install one file, but see those warnings in the log
files. So it's a matter of usability versus 'not logging warnings'. IMHO
usability wins.
However, if you really dislike those warnings and you want a quick fix for the
problem, just install a bundle providing SCR and Deployment Admin API. You
don't need services implementing them, just the API.
> SCR and Deployment Admin dependency
> -----------------------------------
>
> Key: FELIX-2839
> URL: https://issues.apache.org/jira/browse/FELIX-2839
> Project: Felix
> Issue Type: Bug
> Components: Web Console
> Affects Versions: webconsole-3.1.8
> Environment: equinox + PAX WEB bundle 0.7.0 + Apache Felix Web
> Console 3.1.8
> Reporter: Gelly Fischer
> Priority: Minor
>
> Exceptions thrown when accessing Web Console first time:
> WARN 114148@qtp-9788629-0 org.mortbay.jetty./ -
> org.ops4j.pax.web.service.spi.model.ServletModel-5: Failed to instantiate
> plugin org.apache.felix.webconsole.internal.deppack.DepPackServlet
> java.lang.NoClassDefFoundError:
> org/osgi/service/deploymentadmin/DeploymentException
> at java.lang.Class.getDeclaredConstructors0(Native Method)
> at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
> at java.lang.Class.getConstructor0(Unknown Source)
> at java.lang.Class.newInstance0(Unknown Source)
> at java.lang.Class.newInstance(Unknown Source)
> at
> org.apache.felix.webconsole.internal.servlet.PluginHolder$InternalPlugin.doGetConsolePlugin(PluginHolder.java:761)
> at
> org.apache.felix.webconsole.internal.servlet.PluginHolder$Plugin.getConsolePlugin(PluginHolder.java:532)
> at
> org.apache.felix.webconsole.internal.servlet.PluginHolder.getLocalizedLabelMap(PluginHolder.java:242)
> at
> org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:420)
> at
> org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:384)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.handle(HttpServiceServletHandler.java:64)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.handle(HttpServiceContext.java:111)
> at
> org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:64)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> Caused by: java.lang.ClassNotFoundException:
> org.osgi.service.deploymentadmin.DeploymentException
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
> at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> ... 26 more
> WARN 114148@qtp-9788629-0 org.mortbay.jetty./ -
> org.ops4j.pax.web.service.spi.model.ServletModel-5: Failed to instantiate
> plugin org.apache.felix.webconsole.internal.compendium.ComponentsServlet
> java.lang.NoClassDefFoundError: org.apache.felix.scr.ScrService
> at
> org.apache.felix.webconsole.internal.compendium.ComponentsServlet.class$(ComponentsServlet.java:74)
> at
> org.apache.felix.webconsole.internal.compendium.ComponentsServlet.<clinit>(ComponentsServlet.java:74)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
> Source)
> at java.lang.reflect.Constructor.newInstance(Unknown Source)
> at java.lang.Class.newInstance0(Unknown Source)
> at java.lang.Class.newInstance(Unknown Source)
> at
> org.apache.felix.webconsole.internal.servlet.PluginHolder$InternalPlugin.doGetConsolePlugin(PluginHolder.java:761)
> at
> org.apache.felix.webconsole.internal.servlet.PluginHolder$Plugin.getConsolePlugin(PluginHolder.java:532)
> at
> org.apache.felix.webconsole.internal.servlet.PluginHolder.getLocalizedLabelMap(PluginHolder.java:242)
> at
> org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:420)
> at
> org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:384)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.handle(HttpServiceServletHandler.java:64)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.handle(HttpServiceContext.java:111)
> at
> org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:64)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira