[ 
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

        

Reply via email to