當前位置: 首頁>>代碼示例>>Java>>正文


Java BundleContext.addBundleListener方法代碼示例

本文整理匯總了Java中org.osgi.framework.BundleContext.addBundleListener方法的典型用法代碼示例。如果您正苦於以下問題:Java BundleContext.addBundleListener方法的具體用法?Java BundleContext.addBundleListener怎麽用?Java BundleContext.addBundleListener使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.osgi.framework.BundleContext的用法示例。


在下文中一共展示了BundleContext.addBundleListener方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: activate

import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
@Activate
void activate(BundleContext context) {
    this.context = context;
    context.addFrameworkListener(this.frameworkListener);
    context.addBundleListener(this.bundleListener);

    this.processorThread = new Thread(() -> {
        this.log.log(LogService.LOG_INFO, "Deployment Installer thread starting");
        debug("Deployment Install thread starting");
        while (!Thread.interrupted()) {
            try {
                Runnable job = waitForJob();
                job.run();
            } catch (InterruptedException e) {
                debug("Deployment Install thread interrupted");
                this.log.log(LogService.LOG_INFO, "Deployment Installer thread interrupted");
                break;
            } catch (Exception e) {
                this.log.log(LogService.LOG_ERROR, "Error processing job on Deployment Installer thread", e);
            }
        }
        debug("Deployment Install thread terminated.");
        this.log.log(LogService.LOG_INFO, "Deployment Installer thread terminated");
    });
    this.processorThread.start();
}
 
開發者ID:opensecuritycontroller,項目名稱:osc-core,代碼行數:27,代碼來源:DeploymentInstaller.java

示例2: PermissionManager

import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
/**
 * Constructs a new <code>PermissionManager</code> instance.
 * 
 * @param bc
 */
private PermissionManager(BundleContext bc) {
	ServiceReference ref = bc.getServiceReference(PermissionAdmin.class.getName());
	if (ref != null) {
		logger.trace("Found permission admin " + ref);
		pa = (PermissionAdmin) bc.getService(ref);
		bc.addBundleListener(this);
		logger.trace("Default permissions are " + ObjectUtils.nullSafeToString(pa.getDefaultPermissions()));
		logger.warn("Security turned ON");

	}
	else {
		logger.warn("Security turned OFF");
		pa = null;
	}
}
 
開發者ID:eclipse,項目名稱:gemini.blueprint,代碼行數:21,代碼來源:BaseIntegrationTest.java

示例3: initNamespaceHandlers

import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
protected void initNamespaceHandlers(BundleContext extenderBundleContext) {
    nsManager = new NamespaceManager(extenderBundleContext);

    // register listener first to make sure any bundles in INSTALLED state
    // are not lost

    // if the property is defined and true, consider bundles in STARTED/LAZY-INIT state, otherwise use RESOLVED
    boolean nsResolved = !Boolean.getBoolean("org.eclipse.gemini.blueprint.ns.bundles.started");
    nsListener = new NamespaceBundleLister(nsResolved, this);
    extenderBundleContext.addBundleListener(nsListener);

    Bundle[] previousBundles = extenderBundleContext.getBundles();

    for (Bundle bundle : previousBundles) {
        // special handling for uber bundle being restarted
        if ((nsResolved && OsgiBundleUtils.isBundleResolved(bundle)) || (!nsResolved && OsgiBundleUtils.isBundleActive(bundle)) || bundleId == bundle.getBundleId()) {
            maybeAddNamespaceHandlerFor(bundle, false);
        } else if (OsgiBundleUtils.isBundleLazyActivated(bundle)) {
            maybeAddNamespaceHandlerFor(bundle, true);
        }
    }

    // discovery finished, publish the resolvers/parsers in the OSGi space
    nsManager.afterPropertiesSet();
}
 
開發者ID:eclipse,項目名稱:gemini.blueprint,代碼行數:26,代碼來源:NamespaceHandlerActivator.java

示例4: start

import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
public @Override void start(final BundleContext context) throws Exception {
        if (System.getProperty("netbeans.home") != null) {
            throw new IllegalStateException("Should not be run from inside regular NetBeans module system");
        }
        String storage = context.getProperty(Constants.FRAMEWORK_STORAGE);
        if (storage != null) {
            System.setProperty("netbeans.user", storage);
        }
        System.setProperty("TopSecurityManager.disable", "true");
        NbBundle.setBranding(System.getProperty("branding.token"));
        OSGiMainLookup.initialize(context);
        queue = new DependencyQueue<String,Bundle>();
        this.context = context;
        framework = ((Framework) context.getBundle(0));
        if (framework.getState() == Bundle.STARTING) {
            LOG.fine("framework still starting");
            final AtomicReference<FrameworkListener> frameworkListener = new AtomicReference<FrameworkListener>();
            frameworkListener.set(new FrameworkListener() {
                public @Override void frameworkEvent(FrameworkEvent event) {
                    if (event.getType() == FrameworkEvent.STARTED) {
//                        System.err.println("framework started");
                        context.removeFrameworkListener(frameworkListener.get());
                        context.addBundleListener(Activator.this);
                        processLoadedBundles();
                    }
                }
            });
            context.addFrameworkListener(frameworkListener.get());
        } else {
            LOG.fine("framework already started");
            context.addBundleListener(this);
            processLoadedBundles();
        }
    }
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:35,代碼來源:Activator.java

示例5: start

import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
@Override
public void start(BundleContext ctx) {
    LOG.debug("Starting EclipseLink adapter");
    context = ctx;
    ctx.addBundleListener(this);
    
    for (Bundle b : ctx.getBundles()) {
        if ((b.getState() & (Bundle.ACTIVE | Bundle.STARTING | Bundle.RESOLVED | Bundle.STOPPING)) != 0) 
            handlePotentialEclipseLink(b);
    }
}
 
開發者ID:apache,項目名稱:aries-jpa,代碼行數:12,代碼來源:Activator.java

示例6: testStart

import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
public void testStart() throws Exception {
	BundleContext context = createMock(BundleContext.class);
	// platform determination

	// extracting bundle id from bundle
	expect(context.getBundle()).andReturn(new MockBundle());

	// look for existing resolved bundles
	expect(context.getBundles()).andReturn(new Bundle[0]).times(2);

	// register context service
	expect(context.registerService((String[]) null, null, null)).andReturn(null).atLeastOnce();

	// create task executor
	EntryLookupControllingMockBundle aBundle = new EntryLookupControllingMockBundle(null);
	aBundle.setEntryReturnOnNextCallToGetEntry(null);
	expect(context.getBundle()).andReturn(aBundle).atLeastOnce();

	// listen for bundle events
	context.addBundleListener(null);
       expectLastCall().times(2);

	expect(context.registerService(new String[0], null, new Hashtable<String, Object>())).andReturn(new MockServiceRegistration()).atLeastOnce();
	replay(context);

	this.listener.start(context);
	verify(context);
}
 
開發者ID:eclipse,項目名稱:gemini.blueprint,代碼行數:29,代碼來源:ContextLoaderListenerTest.java

示例7: start

import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
public void start(BundleContext context) throws Exception {
	super.start(context);
	thisActivator = this;
	context.addBundleListener(this);
}
 
開發者ID:EnFlexIT,項目名稱:AgentWorkbench,代碼行數:6,代碼來源:PlugInActivator.java

示例8: ReplayEventManager

import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
ReplayEventManager(BundleContext bundleContext) {
	this.bundleContext = bundleContext;
	bundleContext.addBundleListener(listener);
}
 
開發者ID:eclipse,項目名稱:gemini.blueprint,代碼行數:5,代碼來源:ReplayEventManager.java

示例9: activate

import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
/**
 * Activate component
 *
 * @param context
 */
@Activate
public void activate(BundleContext context){
    context.addBundleListener(this);
}
 
開發者ID:DantaFramework,項目名稱:JahiaDF,代碼行數:10,代碼來源:JahiaConfigurationProviderImpl.java


注:本文中的org.osgi.framework.BundleContext.addBundleListener方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。