Search in sources :

Example 6 with ServiceInfo

use of org.thingsboard.server.gen.transport.TransportProtos.ServiceInfo in project thingsboard by thingsboard.

the class DefaultTbServiceInfoProvider method init.

@PostConstruct
public void init() {
    if (StringUtils.isEmpty(serviceId)) {
        try {
            serviceId = InetAddress.getLocalHost().getHostName();
        } catch (UnknownHostException e) {
            serviceId = org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(10);
        }
    }
    log.info("Current Service ID: {}", serviceId);
    if (serviceType.equalsIgnoreCase("monolith")) {
        serviceTypes = Collections.unmodifiableList(Arrays.asList(ServiceType.values()));
    } else {
        serviceTypes = Collections.singletonList(ServiceType.of(serviceType));
    }
    ServiceInfo.Builder builder = ServiceInfo.newBuilder().setServiceId(serviceId).addAllServiceTypes(serviceTypes.stream().map(ServiceType::name).collect(Collectors.toList()));
    UUID tenantId;
    if (!StringUtils.isEmpty(tenantIdStr)) {
        tenantId = UUID.fromString(tenantIdStr);
        isolatedTenant = TenantId.fromUUID(tenantId);
    } else {
        tenantId = TenantId.NULL_UUID;
    }
    builder.setTenantIdMSB(tenantId.getMostSignificantBits());
    builder.setTenantIdLSB(tenantId.getLeastSignificantBits());
    if (serviceTypes.contains(ServiceType.TB_RULE_ENGINE) && ruleEngineSettings != null) {
        for (TbRuleEngineQueueConfiguration queue : ruleEngineSettings.getQueues()) {
            TransportProtos.QueueInfo queueInfo = TransportProtos.QueueInfo.newBuilder().setName(queue.getName()).setTopic(queue.getTopic()).setPartitions(queue.getPartitions()).build();
            builder.addRuleEngineQueues(queueInfo);
        }
    }
    serviceInfo = builder.build();
}
Also used : ServiceInfo(org.thingsboard.server.gen.transport.TransportProtos.ServiceInfo) UnknownHostException(java.net.UnknownHostException) ServiceType(org.thingsboard.server.common.msg.queue.ServiceType) TbRuleEngineQueueConfiguration(org.thingsboard.server.queue.settings.TbRuleEngineQueueConfiguration) TransportProtos(org.thingsboard.server.gen.transport.TransportProtos) UUID(java.util.UUID) PostConstruct(javax.annotation.PostConstruct)

Aggregations

ServiceInfo (org.thingsboard.server.gen.transport.TransportProtos.ServiceInfo)6 HashSet (java.util.HashSet)4 UUID (java.util.UUID)4 PostConstruct (javax.annotation.PostConstruct)4 ServiceType (org.thingsboard.server.common.msg.queue.ServiceType)4 TransportProtos (org.thingsboard.server.gen.transport.TransportProtos)4 HashFunction (com.google.common.hash.HashFunction)3 Hasher (com.google.common.hash.Hasher)3 Hashing (com.google.common.hash.Hashing)3 ArrayList (java.util.ArrayList)3 Collections (java.util.Collections)3 Comparator (java.util.Comparator)3 HashMap (java.util.HashMap)3 List (java.util.List)3 Map (java.util.Map)3 Set (java.util.Set)3 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)3 ConcurrentMap (java.util.concurrent.ConcurrentMap)3 Collectors (java.util.stream.Collectors)3 Slf4j (lombok.extern.slf4j.Slf4j)3