protected void awaitBootstrapCompleteService(String serviceName, long timeout, TimeUnit unit) throws TimeoutException, InterruptedException, IOException { long timeoutMillis = System.currentTimeMillis() + unit.toMillis(timeout); while (System.currentTimeMillis() < timeoutMillis) { TabularData list = serviceStateMBean.listServices(serviceName, null); if (list.size() > 0) { return; } else { Thread.sleep(500); } } throw new TimeoutException("Timeout while waiting for service: " + serviceName); }
@Override public long[] getUsingBundles(long serviceId) throws IOException { long[] usingBundles = getServiceStateMBean().getUsingBundles(serviceId); if (log.isTraceEnabled()) log.trace("getUsingBundles [serviceId=" + serviceId + "] => " + (usingBundles != null ? Arrays.asList(usingBundles) : null)); return usingBundles; }
@Override public String[] getObjectClass(long serviceId) throws IOException { String[] objectClass = getServiceStateMBean().getObjectClass(serviceId); if (log.isTraceEnabled()) log.trace("getObjectClass [serviceId=" + serviceId + "] => " + (objectClass != null ? Arrays.asList(objectClass) : null)); return objectClass; }
@Override public TabularData getProperties(long serviceId) throws IOException { TabularData properties = getServiceStateMBean().getProperties(serviceId); if (log.isTraceEnabled()) log.trace("getProperties [serviceId=" + serviceId + "] => " + properties); return properties; }
@Override public long getBundleIdentifier(long serviceId) throws IOException { long bundleId = getServiceStateMBean().getBundleIdentifier(serviceId); if (log.isTraceEnabled()) log.trace("getBundleIdentifier [serviceId=" + serviceId + "] => " + bundleId); return bundleId; }
@Override public TabularData listServices() throws IOException { TabularData services = getServiceStateMBean().listServices(); if (log.isTraceEnabled()) log.trace("listServices: " + services); return services; } }