@Override public int compare(ServiceDescriptor o1, ServiceDescriptor o2) { if (o1 == null) { return Integer.MAX_VALUE; } if (o2 == null) { return Integer.MIN_VALUE; } return o1.getServicePriority() - o2.getServicePriority(); } }
@Override public ServiceStatistic[] readLastStatisticSummary() { String url = baseUrl+"/container/info/globalsummary"; ServiceStatisticList serviceStatisticList = restTemplate.getForObject(url, ServiceStatisticList.class); return serviceStatisticList == null ? null : serviceStatisticList.getStatistics(); }
private ConnectionDescriptor getJmsDescriptor(final ServiceDescriptor serviceDescriptor) { final List<ConnectionDescriptor> serviceLocations = serviceDescriptor.getServiceLocations(); for (final ConnectionDescriptor connectionDescriptor : serviceLocations) { if (ServiceRegistryConstants.SERVICE_PROTOCOL_JMS.equals(connectionDescriptor.getProtocol())) { return connectionDescriptor; } } logger.warn("Jms descriptor not found in {}", serviceDescriptor); throw new IllegalStateException("Jms descriptor not found"); }
private <T> ServiceProxy<T> findAndCreateServiceProxy(final ServiceDescriptor descriptor, final Class<T> localInterface, final ConnectionDescriptor connectionDescriptor, final ServiceProxyFactory proxyFactory) { final String[] supportedProtocols = proxyFactory.getProtocols(); for (final String proxyProtocol : supportedProtocols) { if (proxyProtocol.equals(connectionDescriptor.getProtocol())) { final String serviceId = descriptor.getServiceId(); if (proxyFactory.isApplicable(connectionDescriptor, localInterface, serviceId)) { if (logger.isTraceEnabled()) { logger.trace("connection will be created by {} using protocol {} ", proxyFactory, proxyProtocol); } return proxyFactory.buildProxy(connectionDescriptor, localInterface, serviceId, descriptor.getFeatures()); } } } return null; }
@Override public Boolean call() { String serviceId = serviceDescriptor.getServiceId(); String version = serviceDescriptor.getVersion(); final ServiceDescriptor descriptor = serviceRegistry.lookupService(serviceId, version, "", protocols); return descriptor != null; } });
@Override public void markAsInactive(final ServiceDescriptor serviceDescriptor) { logger.info("Registry {} is down.", serviceDescriptor.getServiceId()); descriptorsBlackList.add(serviceDescriptor); registryDescriptors.remove(serviceDescriptor); }
@Override protected void onResourceLoaded(ServiceDescriptorList descriptorList) { logger.trace("Registry list has {} elements", descriptorList.getServiceDescriptors().size()); modifiableHolder.removeAllDescriptors(); for (final ServiceDescriptor descriptor : descriptorList.getServiceDescriptors()) { modifiableHolder.addNewDescriptor(descriptor); logger.trace("new descriptor {} added to registry list.", descriptor.getServiceId()); } }
public String getBrokerUrl() { return connectionDescriptor.getLocation().toString(); }
private void saveIfPossible() { ServiceDescriptorList containerList = new ServiceDescriptorList(); containerList.setServiceDescriptors(containerListHolder.getAllContainersDescription()); saveIfPossible(containerList); }
@Override public void setServiceDescriptor(final String serviceId, final ServiceDescriptor serviceDescriptor) { serviceDescriptor.setServiceLocations(new ArrayList<ConnectionDescriptor>()); getOrCreateServiceInfo(serviceId).serviceDescriptor = serviceDescriptor; }
private String getStreamingUrl(final ConnectionDescriptor connectionDescriptor) { return connectionDescriptor.getProtocolFeatures().get("streamingUrl"); }
@Override protected void onResourceLoaded(ServiceDescriptorList result) { containerListHolder.replaceExistingList(result.getServiceDescriptors()); }
private void assignGlobalServiceId(final ServiceDescriptor serviceDescriptor, final String containerName) { final String globalServiceId = generateGlobalServiceId(serviceDescriptor, containerName); serviceDescriptor.setGlobalId(globalServiceId); }
private boolean haveCommonElement(final Collection<String> acceptableProtocols, final ServiceDescriptor descriptor, final String clientName, final String containerName) { for (final ConnectionDescriptor connectionDescriptor : descriptor.getServiceLocations()) { final String protocol = connectionDescriptor.getProtocol(); if (acceptableProtocols.contains(protocol)) { if (ServiceRegistryConstants.SERVICE_PROTOCOL_LOCAL.equals(protocol)) { if (clientName != null && clientName.equals(containerName)) { return true; } } else { return true; } } } return false; }
@Override public void markAsActive(final ServiceDescriptor serviceDescriptor) { logger.info("Registry {} is alive.", serviceDescriptor.getServiceId()); descriptorsBlackList.remove(serviceDescriptor); registryDescriptors.add(serviceDescriptor); }
public String getDestinationType() { return connectionDescriptor.getProtocolFeatures().get(JMS_CONFIG_DESTINATION_TYPE); }
@Override public ServiceStatistic[] readGlobalStatisticSummary() { String url = baseUrl+"/container/info/lastsummary"; ServiceStatisticList serviceStatisticList = restTemplate.getForObject(url, ServiceStatisticList.class); return serviceStatisticList == null ? null : serviceStatisticList.getStatistics(); } }
@Override public void addNewConnectionDeploymentResult(final String serviceId, final InternalConnectionDeploymentResult connectionDeploymentResult) { final String protocol = connectionDeploymentResult.getConnectionDescriptor().getProtocol(); final ServiceInfo sericeInfo = getOrThrowServiceInfo(serviceId); sericeInfo.exportedProtocols.put(protocol , connectionDeploymentResult); sericeInfo.serviceDescriptor.getServiceLocations().add(connectionDeploymentResult.getConnectionDescriptor()); }
/** * Create global identifier for service. */ private String generateGlobalServiceId(final ServiceDescriptor serviceDescriptor, final String containerName) { final String serviceId = serviceDescriptor.getServiceId(); final String globalServiceId = ServiceIdUtil.globalIdByServiceIdAndContainerName(serviceId, containerName); return globalServiceId; }
public String getDestinationName() { return connectionDescriptor.getProtocolFeatures().get(JMS_CONFIG_DESTINATION_NAME); }