本文整理匯總了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();
}
示例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;
}
}
示例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();
}
示例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();
}
}
示例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);
}
}
示例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);
}
示例7: start
import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
public void start(BundleContext context) throws Exception {
super.start(context);
thisActivator = this;
context.addBundleListener(this);
}
示例8: ReplayEventManager
import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
ReplayEventManager(BundleContext bundleContext) {
this.bundleContext = bundleContext;
bundleContext.addBundleListener(listener);
}
示例9: activate
import org.osgi.framework.BundleContext; //導入方法依賴的package包/類
/**
* Activate component
*
* @param context
*/
@Activate
public void activate(BundleContext context){
context.addBundleListener(this);
}