Date: Fri, 13 Mar 2015 10:48:08 +0100
            From: 
peter.hermsdorf@xxxxxxxxx
            To: 
ecf-dev@xxxxxxxxxxx
            Subject: Re: [ecf-dev] Problem using multiple services from
            single server
            
            You are right, thanks for the hint. With the suggested
            runlevel setup the services get imported actually and my
            testsuite is working again!
            But on startup i see the following exception (see below),
            which is caused by accessing
            org.eclipse.ecf.internal.osgi.services.remoteserviceadmin.Activator.context
            before the Activator.start method was called.
            
            But since the access comes from
            AbstractTopologyManager.getRemoteServiceAdmin I don't really
            understand why Activator was not yet called by the
            framework.
            Also fiddling around with the start levels of
            org.eclipse.ecf.osgi.services.remoteserviceadmin does not
            yield to a result yet ... it's currently as autostart with
            level 4.
            
            my current setup of startlevel for ecf is:
            
                target {
                    "org.eclipse.ecf.ssl*3.4.0.v20150306-2024"
                    "org.eclipse.ecf*3.4.0.v20150306-2024" autostart
                    "org.eclipse.ecf.console"
                    "org.eclipse.ecf.discovery" autostart
                    "org.eclipse.ecf.osgi.services.distribution"
            autostart startLevel=3
                   
            "org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy"
            autostart
                    "org.eclipse.ecf.osgi.services.remoteserviceadmin"
            autostart
                    "org.eclipse.ecf.provider.remoteservice" autostart
                    "org.eclipse.ecf.provider" autostart
                    "org.eclipse.ecf.remoteservice" autostart
                   
            "org.eclipse.ecf.remoteservice.asyncproxy*1.0.0.v20140410-1838"
                    "org.eclipse.ecf.sharedobject"
                    "org.eclipse.ecf.identity.nl_de"
                    "org.eclipse.ecf.identity*3.4.0.v20150306-2024"
            autostart
                    "org.eclipse.osgi.services.remoteserviceadmin"
            autostart
                }
            
            where the default autostart level is at 4.
            
            Thanks for your support!
            
            java.lang.NullPointerException
                at
org.osgi.util.tracker.ServiceTracker.<init>(ServiceTracker.java:224)
                at
org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractTopologyManager.getRemoteServiceAdmin(AbstractTopologyManager.java:155)
                at
org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractTopologyManager.handleServiceModifying(AbstractTopologyManager.java:441)
                at
org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractTopologyManager.handleEvent(AbstractTopologyManager.java:397)
                at
org.eclipse.ecf.internal.osgi.services.distribution.BasicTopologyManagerImpl.event(BasicTopologyManagerImpl.java:119)
                at
org.eclipse.ecf.internal.osgi.services.distribution.BasicTopologyManagerComponent.event(BasicTopologyManagerComponent.java:57)
                at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry$6.call(ServiceRegistry.java:1192)
                at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1239)
                at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1222)
                at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyEventListenerHooksPrivileged(ServiceRegistry.java:1189)
                at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:806)
                at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
                at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:171)
                at
org.eclipse.equinox.internal.app.EclipseAppDescriptor.refreshProperties(EclipseAppDescriptor.java:124)
                at
org.eclipse.equinox.internal.app.EclipseAppContainer.refreshAppDescriptors(EclipseAppContainer.java:470)
                at
org.eclipse.equinox.internal.app.EclipseAppContainer.lock(EclipseAppContainer.java:520)
                at
org.eclipse.equinox.internal.app.EclipseAppDescriptor.createAppHandle(EclipseAppDescriptor.java:190)
                at
org.eclipse.equinox.internal.app.EclipseAppDescriptor.launchSpecific(EclipseAppDescriptor.java:90)
                at
org.osgi.service.application.ApplicationDescriptor.launch(ApplicationDescriptor.java:311)
                at
org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:260)
                at
org.eclipse.equinox.internal.app.EclipseAppContainer.start(EclipseAppContainer.java:104)
                at
org.eclipse.equinox.internal.app.Activator.addingService(Activator.java:134)
                at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)
                at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
                at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
                at
org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
                at
            org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)
                at
            org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)
                at
            org.eclipse.equinox.internal.app.Activator.start(Activator.java:56)
                at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
                at java.security.AccessController.doPrivileged(Native
            Method)
                at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
                at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
                at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
                at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
                at
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
                at
org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
                at
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
                at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
                at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
                at
org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
                at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
                at
org.eclipse.core.internal.runtime.PlatformActivator.startAppContainer(PlatformActivator.java:44)
                at
org.eclipse.core.internal.runtime.PlatformActivator.start(PlatformActivator.java:31)
                at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
                at java.security.AccessController.doPrivileged(Native
            Method)
                at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
                at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
                at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
                at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
                at
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
                at
org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
                at
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
                at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
                at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
                at
org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
                at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
                at java.lang.ClassLoader.defineClass1(Native Method)
                at
            java.lang.ClassLoader.defineClass(ClassLoader.java:800)
                at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
                at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:632)
                at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:607)
                at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)
                at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)
                at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)
                at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
                at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
                at
org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340)
                at
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
                at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:165)
                at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679)
                at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
                at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
                at
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
                at
org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
                at
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
                at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
                at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
                at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
                at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
                at
org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340)
                at
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
                at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212)
                at
org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:493)
                at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:270)
                at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:331)
                at
org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
                at
org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
                at
org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
                at
org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
                at
org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
                at
org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
                at
            org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
                at java.lang.Thread.run(Thread.java:744)
            
            
            
            
            
            
Am 13.03.2015 um 09:25
              schrieb Wim Jongman:
            
            
              
                
                  
                    Unfortunately, this is not a correct
                      assumption. You have to check the run
                      configuration and see the start order of the
                      equinox.ds bundle. If this bundle starts at 2, it
                      will cause your component bundles to also start
                      early. No matter what the sequence number is in ss.
                      
                    
                    You could try the following: Set the start order of
                    equinox.ds to 4 and the start order of ecf
                    distribution to 3. This is done in the run
                    configuration for development time and in the
                    product file configuration when you build it.
                    
                  
 
                  Cheers,
                  
                
 
                Wim   
              
 
              
              
              
              
              _______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
            
            
            
            _______________________________________________
            ecf-dev mailing list
            
ecf-dev@xxxxxxxxxxx
            To change your delivery options, retrieve your password, or
            unsubscribe from this list, visit
            
https://dev.eclipse.org/mailman/listinfo/ecf-dev