public ScheduledExecutorServiceWrapper(BundleContext context, String name, ScheduledExecutorServiceFactory sesf) { _name = name; _factory = sesf; try { _tracked = new SingleServiceTracker<ScheduledExecutorService>(context, ScheduledExecutorService.class, "(aries.blueprint.poolName=" + _name + ")", this); _tracked.open(); } catch (InvalidSyntaxException e) { // Just ignore and stick with the default one. } if (_current.get() == null) { _default.set(_factory.create(name)); if (!!!_current.compareAndSet(null, _default.get())) { _default.getAndSet(null).shutdown(); } } }
public ScheduledExecutorServiceWrapper(BundleContext context, String name, ScheduledExecutorServiceFactory sesf) { _name = name; _factory = sesf; try { _tracked = new SingleServiceTracker<ScheduledExecutorService>(context, ScheduledExecutorService.class, "(aries.blueprint.poolName=" + _name + ")", this); _tracked.open(); } catch (InvalidSyntaxException e) { // Just ignore and stick with the default one. } if (_current.get() == null) { _default.set(_factory.create(name)); if (!!!_current.compareAndSet(null, _default.get())) { _default.getAndSet(null).shutdown(); } } }
@Override public void start(BundleContext context) { ctx = context; proxyManager = new SingleServiceTracker<ProxyManager>(context, ProxyManager.class, this); proxyManager.open(); // Blueprint URL scheme requires access to the BlueprintContainer service. // We have an optional import // on org.osgi.service.blueprint.container: only register the blueprint:comp/URL // scheme if it's present try { ctx.getBundle().loadClass("org.osgi.service.blueprint.container.BlueprintContainer"); Hashtable<Object, Object> blueprintURlSchemeProps = new Hashtable<Object, Object>(); blueprintURlSchemeProps.put(JNDIConstants.JNDI_URLSCHEME, new String[] { "blueprint" }); blueprintUrlReg = ctx.registerService(ObjectFactory.class.getName(), new BlueprintURLContextServiceFactory(), (Dictionary) blueprintURlSchemeProps); } catch (ClassNotFoundException cnfe) { // The blueprint packages aren't available, so do nothing. That's fine. Logger logger = Logger.getLogger("org.apache.aries.jndi"); logger.log(Level.INFO, "Blueprint support disabled: " + cnfe); logger.log(Level.FINE, "Blueprint support disabled", cnfe); } }
proxyManager.open();