The JMX compendium support track services without checking for package 
visibility
---------------------------------------------------------------------------------

                 Key: ARIES-815
                 URL: https://issues.apache.org/jira/browse/ARIES-815
             Project: Aries
          Issue Type: Bug
            Reporter: Guillaume Nodet
            Priority: Minor


It means that an error is thrown when the service a service is registered 
without the jmx bundle being wired to the package>

I see two ways around:
  * do not track services if we can't see the class
  * add dynamic imports on the same packages that the optional imports so that 
the wiring can be done lazily by the framework

{code}
karaf@root> osgi:install 
mvn:org.apache.felix/org.apache.felix.framework.security/2.0.1
ERROR: Bundle org.apache.aries.jmx [26] EventDispatcher: Error during dispatch. 
(java.lang.NoClassDefFoundError: 
org/osgi/service/permissionadmin/PermissionAdmin)
java.lang.NoClassDefFoundError: org/osgi/service/permissionadmin/PermissionAdmin
        at 
org.apache.aries.jmx.permissionadmin.PermissionAdminMBeanHandler.constructInjectMBean(PermissionAdminMBeanHandler.java:53)
        at 
org.apache.aries.jmx.AbstractCompendiumHandler.addingService(AbstractCompendiumHandler.java:88)
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:980)
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
        at 
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:262)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:234)
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:941)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:934)
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:795)
        at 
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:544)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4328)
        at org.apache.felix.framework.Felix.registerService(Felix.java:3343)
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346)
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:320)
        at 
org.apache.felix.framework.SecurityActivator.start(SecurityActivator.java:212)
        at 
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:641)
        at 
org.apache.felix.framework.ExtensionManager.startExtensionBundle(ExtensionManager.java:447)
        at org.apache.felix.framework.Felix.installBundle(Felix.java:2885)
        at 
org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:165)
        at 
org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:43)
        at 
org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)
        at 
org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
        at 
org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)
        at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)
        at 
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)
        at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
        at 
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
        at org.apache.karaf.shell.console.jline.Console.run(Console.java:221)
        at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: 
org.osgi.service.permissionadmin.PermissionAdmin not found by 
org.apache.aries.jmx [26]
        at 
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)
        at 
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
        at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        ... 31 more
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to