private void readServiceDescriptors() { Node node = nodeEngine.getNode(); try { ClassLoader classLoader = node.getConfigClassLoader(); Iterator<Class<RemoteServiceDescriptorProvider>> iterator = ServiceLoader.classIterator(RemoteServiceDescriptorProvider.class, PROVIDER_ID, classLoader); while (iterator.hasNext()) { Class<RemoteServiceDescriptorProvider> clazz = iterator.next(); Constructor<RemoteServiceDescriptorProvider> constructor = clazz.getDeclaredConstructor(); RemoteServiceDescriptorProvider provider = constructor.newInstance(); RemoteServiceDescriptor[] services = provider.createRemoteServiceDescriptors(); for (RemoteServiceDescriptor serviceDescriptor : services) { registerService(serviceDescriptor.getServiceName(), serviceDescriptor.getService(nodeEngine)); } } } catch (Exception e) { throw rethrow(e); } }
private void readServiceDescriptors() { Node node = nodeEngine.getNode(); try { ClassLoader classLoader = node.getConfigClassLoader(); Iterator<Class<RemoteServiceDescriptorProvider>> iterator = ServiceLoader.classIterator(RemoteServiceDescriptorProvider.class, PROVIDER_ID, classLoader); while (iterator.hasNext()) { Class<RemoteServiceDescriptorProvider> clazz = iterator.next(); Constructor<RemoteServiceDescriptorProvider> constructor = clazz.getDeclaredConstructor(); RemoteServiceDescriptorProvider provider = constructor.newInstance(); RemoteServiceDescriptor[] services = provider.createRemoteServiceDescriptors(); for (RemoteServiceDescriptor serviceDescriptor : services) { registerService(serviceDescriptor.getServiceName(), serviceDescriptor.getService(nodeEngine)); } } } catch (Exception e) { throw rethrow(e); } }