|
|
|
@ -55,69 +55,70 @@ public class InMemoryMonolithQueueFactory implements TbCoreQueueFactory, TbRuleE |
|
|
|
TbQueueRuleEngineSettings ruleEngineSettings, |
|
|
|
TbServiceInfoProvider serviceInfoProvider, |
|
|
|
TbQueueTransportApiSettings transportApiSettings, |
|
|
|
TbQueueTransportNotificationSettings transportNotificationSettings) { |
|
|
|
TbQueueTransportNotificationSettings transportNotificationSettings, |
|
|
|
InMemoryStorage storage) { |
|
|
|
this.partitionService = partitionService; |
|
|
|
this.coreSettings = coreSettings; |
|
|
|
this.serviceInfoProvider = serviceInfoProvider; |
|
|
|
this.ruleEngineSettings = ruleEngineSettings; |
|
|
|
this.transportApiSettings = transportApiSettings; |
|
|
|
this.transportNotificationSettings = transportNotificationSettings; |
|
|
|
this.storage = InMemoryStorage.getInstance(); |
|
|
|
this.storage = storage; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueProducer<TbProtoQueueMsg<TransportProtos.ToTransportMsg>> createTransportNotificationsMsgProducer() { |
|
|
|
return new InMemoryTbQueueProducer<>(transportNotificationSettings.getNotificationsTopic()); |
|
|
|
return new InMemoryTbQueueProducer<>(storage, transportNotificationSettings.getNotificationsTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueProducer<TbProtoQueueMsg<TransportProtos.ToRuleEngineMsg>> createRuleEngineMsgProducer() { |
|
|
|
return new InMemoryTbQueueProducer<>(ruleEngineSettings.getTopic()); |
|
|
|
return new InMemoryTbQueueProducer<>(storage, ruleEngineSettings.getTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueProducer<TbProtoQueueMsg<TransportProtos.ToRuleEngineNotificationMsg>> createRuleEngineNotificationsMsgProducer() { |
|
|
|
return new InMemoryTbQueueProducer<>(ruleEngineSettings.getTopic()); |
|
|
|
return new InMemoryTbQueueProducer<>(storage, ruleEngineSettings.getTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueProducer<TbProtoQueueMsg<TransportProtos.ToCoreMsg>> createTbCoreMsgProducer() { |
|
|
|
return new InMemoryTbQueueProducer<>(coreSettings.getTopic()); |
|
|
|
return new InMemoryTbQueueProducer<>(storage, coreSettings.getTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueProducer<TbProtoQueueMsg<TransportProtos.ToCoreNotificationMsg>> createTbCoreNotificationsMsgProducer() { |
|
|
|
return new InMemoryTbQueueProducer<>(coreSettings.getTopic()); |
|
|
|
return new InMemoryTbQueueProducer<>(storage, coreSettings.getTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueConsumer<TbProtoQueueMsg<TransportProtos.ToRuleEngineMsg>> createToRuleEngineMsgConsumer(TbRuleEngineQueueConfiguration configuration) { |
|
|
|
return new InMemoryTbQueueConsumer<>(configuration.getTopic()); |
|
|
|
return new InMemoryTbQueueConsumer<>(storage, configuration.getTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueConsumer<TbProtoQueueMsg<TransportProtos.ToRuleEngineNotificationMsg>> createToRuleEngineNotificationsMsgConsumer() { |
|
|
|
return new InMemoryTbQueueConsumer<>(partitionService.getNotificationsTopic(ServiceType.TB_RULE_ENGINE, serviceInfoProvider.getServiceId()).getFullTopicName()); |
|
|
|
return new InMemoryTbQueueConsumer<>(storage, partitionService.getNotificationsTopic(ServiceType.TB_RULE_ENGINE, serviceInfoProvider.getServiceId()).getFullTopicName()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueConsumer<TbProtoQueueMsg<TransportProtos.ToCoreMsg>> createToCoreMsgConsumer() { |
|
|
|
return new InMemoryTbQueueConsumer<>(coreSettings.getTopic()); |
|
|
|
return new InMemoryTbQueueConsumer<>(storage, coreSettings.getTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueConsumer<TbProtoQueueMsg<TransportProtos.ToCoreNotificationMsg>> createToCoreNotificationsMsgConsumer() { |
|
|
|
return new InMemoryTbQueueConsumer<>(partitionService.getNotificationsTopic(ServiceType.TB_CORE, serviceInfoProvider.getServiceId()).getFullTopicName()); |
|
|
|
return new InMemoryTbQueueConsumer<>(storage, partitionService.getNotificationsTopic(ServiceType.TB_CORE, serviceInfoProvider.getServiceId()).getFullTopicName()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueConsumer<TbProtoQueueMsg<TransportProtos.TransportApiRequestMsg>> createTransportApiRequestConsumer() { |
|
|
|
return new InMemoryTbQueueConsumer<>(transportApiSettings.getRequestsTopic()); |
|
|
|
return new InMemoryTbQueueConsumer<>(storage, transportApiSettings.getRequestsTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueProducer<TbProtoQueueMsg<TransportProtos.TransportApiResponseMsg>> createTransportApiResponseProducer() { |
|
|
|
return new InMemoryTbQueueProducer<>(transportApiSettings.getResponsesTopic()); |
|
|
|
return new InMemoryTbQueueProducer<>(storage, transportApiSettings.getResponsesTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@ -127,22 +128,22 @@ public class InMemoryMonolithQueueFactory implements TbCoreQueueFactory, TbRuleE |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueConsumer<TbProtoQueueMsg<TransportProtos.ToUsageStatsServiceMsg>> createToUsageStatsServiceMsgConsumer() { |
|
|
|
return new InMemoryTbQueueConsumer<>(coreSettings.getUsageStatsTopic()); |
|
|
|
return new InMemoryTbQueueConsumer<>(storage, coreSettings.getUsageStatsTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueConsumer<TbProtoQueueMsg<TransportProtos.ToOtaPackageStateServiceMsg>> createToOtaPackageStateServiceMsgConsumer() { |
|
|
|
return new InMemoryTbQueueConsumer<>(coreSettings.getOtaPackageTopic()); |
|
|
|
return new InMemoryTbQueueConsumer<>(storage, coreSettings.getOtaPackageTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueProducer<TbProtoQueueMsg<TransportProtos.ToOtaPackageStateServiceMsg>> createToOtaPackageStateServiceMsgProducer() { |
|
|
|
return new InMemoryTbQueueProducer<>(coreSettings.getOtaPackageTopic()); |
|
|
|
return new InMemoryTbQueueProducer<>(storage, coreSettings.getOtaPackageTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public TbQueueProducer<TbProtoQueueMsg<TransportProtos.ToUsageStatsServiceMsg>> createToUsageStatsServiceMsgProducer() { |
|
|
|
return new InMemoryTbQueueProducer<>(coreSettings.getUsageStatsTopic()); |
|
|
|
return new InMemoryTbQueueProducer<>(storage, coreSettings.getUsageStatsTopic()); |
|
|
|
} |
|
|
|
|
|
|
|
@Scheduled(fixedRateString = "${queue.in_memory.stats.print-interval-ms:60000}") |
|
|
|
|