lim-exporter swt-exporter http://jira.mfd.msk:8088/browse/CLS-262 поправил инициализацию kafka

This commit is contained in:
AKurakin 2023-05-27 12:59:58 +03:00
parent 7d971cd054
commit 8ea3397e16
5 changed files with 29 additions and 4 deletions

View file

@ -13,6 +13,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.lim.exporter.config.settings.ExportLimServiceSettings;
import ru.spcex.clearing.platform.messaging.config.KafkaConsumerFactory;
import ru.spcex.clearing.platform.messaging.config.KafkaProducerFactory;
import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings;
import ru.spcex.clearing.platform.messaging.service.RequestInfo;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.platform.imdg.api.Imdg;
@ -35,6 +36,12 @@ public class KafkaConfig {
}
@Bean
public ProducerFactory<String, Object> pf(ExportLimServiceSettings settings) {
KafkaProducerSettings kafkaSettings = settings.getKafkaProducer();
return KafkaProducerFactory.producerFactory(kafkaSettings); // Использует специальный сериализатор в JSON
}
@Bean("kafkaTemplate")
public KafkaTemplate<String, Object> kafkaTemplate(ProducerFactory<String, Object> pf) {
return new KafkaTemplate<>(pf);
}

View file

@ -13,10 +13,6 @@ export-lim-service.store.password=password
export-lim-service.store.server-ip=10.230.238.53
export-lim-service.store.server-port=2222
export-lim-service.hazelcast.cluster-members=127.0.0.1:5701
export-lim-service.hazelcast.login=dev
export-lim-service.hazelcast.password=dev-pass
export-lim-service.kafka-consumer.bootstrap-servers=localhost:9092
export-lim-service.kafka-consumer.group-id=dev-group-balance-service
export-lim-service.kafka-consumer.enable-auto-commit=false

View file

@ -2,6 +2,10 @@ package ru.spcex.clearing.lim.exporter.services;
import org.junit.jupiter.api.Test;
import ru.spcex.clearing.lim.exporter.AbstractServiceTest;
import ru.spcex.clearing.lim.exporter.config.KafkaConfig;
import ru.spcex.clearing.lim.exporter.config.settings.ExportLimServiceSettings;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSenderBuilderImpl;
import ru.spcex.clearing.test.TestUtils;
import javax.annotation.PostConstruct;
@ -23,5 +27,11 @@ class AbstractExporterServiceTest extends AbstractServiceTest {
String fileName = "limits_money_202305241832.lim";
moneyExporterService.sendLimExportedNotification(fileName);
//TestUtils.waitingSendAndCheckRecord(null, mockProducer);
/*
Для интеграционного теста см.
KafkaProducerSettings kafkaSettings = settings.getKafkaProducer();
return KafkaProducerFactory.producerFactory(kafkaSettings); // Использует специальный сериализатор в JSON
*/
}
}

View file

@ -10,6 +10,7 @@ import org.springframework.context.annotation.Scope;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.core.ProducerFactory;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings;
import ru.spcex.clearing.swt.exporter.config.settings.ExportSwtServiceSettings;
import ru.spcex.clearing.platform.messaging.config.KafkaConsumerFactory;
import ru.spcex.clearing.platform.messaging.config.KafkaProducerFactory;
@ -35,6 +36,12 @@ public class KafkaConfig {
}
@Bean
public ProducerFactory<String, Object> pf(ExportSwtServiceSettings settings) {
KafkaProducerSettings kafkaSettings = settings.getKafkaProducer();
return KafkaProducerFactory.producerFactory(kafkaSettings); // Использует специальный сериализатор в JSON
}
@Bean("kafkaTemplate")
public KafkaTemplate<String, Object> kafkaTemplate(ProducerFactory<String, Object> pf) {
return new KafkaTemplate<>(pf);
}

View file

@ -39,6 +39,11 @@
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>