@PreDestroy public void stop() { shutdown.fire(new BundleContainerEvents.BundleContainerShutdown(actualContext)); for (ServiceRegistration reg : registrations.getRegistrations()) { try { reg.unregister(); } catch (Throwable t) { //t.printStackTrace(); } } invalid.fire(new Invalid()); ext.removeListeners(); } }
@Override public <T, U extends T> Registration<T> registerService(Class<T> contract, U implementation) { ServiceRegistration reg = registry.registerService(contract.getName(), implementation, null); holder.addRegistration(reg); return new RegistrationImpl<T>(contract, registry, bundle, holder); }
@Override public Registration<T> select(String filter) { Filter osgiFilter = null; try { osgiFilter = FrameworkUtil.createFilter(filter); } catch(InvalidSyntaxException e) { throw new IllegalArgumentException("Invalid LDAP filter : " + e.getMessage()); } RegistrationHolder holder = new RegistrationsHolderImpl(); for (ServiceRegistration registration : holder.getRegistrations()) { if (osgiFilter.match(registration.getReference())) { holder.addRegistration(registration); } } return new RegistrationImpl<T>(contract, registry, bundle, holder); }
for (ServiceRegistration reg : regs.getRegistrations()) { try { reg.unregister();
@Override public <T> Registration<T> registerService(Class<T> contract, Class<? extends T> implementation) { ServiceRegistration reg = registry.registerService(contract.getName(), instances.select(implementation).get(), null); holder.addRegistration(reg); return new RegistrationImpl<T>(contract, registry, bundle, holder); }
Collection<ServiceRegistration> regs = holder.getInstance().select(RegistrationsHolderImpl.class).get().getRegistrations(); BundleContext bundleContext = bundle.getBundleContext(); try {
instance.select(RegistrationsHolderImpl.class).get().addRegistration(registration);