This commit is contained in:
etreschenkov 2025-11-18 18:34:27 +03:00
parent 89f6d58f98
commit e18e1f3724
4 changed files with 10 additions and 20 deletions

View file

@ -42,6 +42,7 @@ public class IndicDataSourceConfig extends DatabaseConfig {
dataSource.setMaxLifetime(indicSetings.maxLifetime()); dataSource.setMaxLifetime(indicSetings.maxLifetime());
dataSource.setKeepaliveTime(indicSetings.keepaliveTime()); dataSource.setKeepaliveTime(indicSetings.keepaliveTime());
dataSource.setLeakDetectionThreshold(indicSetings.leakDetectionThreshold()); dataSource.setLeakDetectionThreshold(indicSetings.leakDetectionThreshold());
dataSource.setAutoCommit(false);
try (Connection connection = dataSource.getConnection()) { try (Connection connection = dataSource.getConnection()) {
connection.isValid(3); connection.isValid(3);

View file

@ -73,10 +73,5 @@ public class FidIdEnricher implements Handler<SubjectPayload, PartFilePayload> {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
return done; return done;
// try {
// mergerQueue.put(new PartFilePayload(done, packageId, null));
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
} }
} }

View file

@ -1,9 +1,5 @@
package ru.nbch.credit_tracker.service.task.impl; package ru.nbch.credit_tracker.service.task.impl;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@ -28,16 +24,12 @@ public class FlagsEnricherV2 implements Consumer<SubjectPayload> {
private final FlagsService2 flagsService; private final FlagsService2 flagsService;
private final ExecutorService ioPool; private final ExecutorService ioPool;
private final ObjectMapper mapper = new ObjectMapper()
.registerModule(new JavaTimeModule())
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
public FlagsEnricherV2(FlagsService2 flagsService, public FlagsEnricherV2(FlagsService2 flagsService,
PhoneFidMapMapper phoneFidMapMapper) { PhoneFidMapMapper phoneFidMapMapper) {
this.flagsService = flagsService; this.flagsService = flagsService;
this.ioPool = new ThreadPoolExecutor(10, this.ioPool = new ThreadPoolExecutor(5,
10, 5,
0L, TimeUnit.MINUTES, 0L, TimeUnit.MINUTES,
new LinkedBlockingQueue<>(100), new LinkedBlockingQueue<>(100),
r -> { r -> {
@ -100,4 +92,5 @@ public class FlagsEnricherV2 implements Consumer<SubjectPayload> {
log.info("submitting payload. active tasks number: {}; queue size: {}", casted.getActiveCount(), casted.getQueue().size()); log.info("submitting payload. active tasks number: {}; queue size: {}", casted.getActiveCount(), casted.getQueue().size());
this.ioPool.submit(() -> process(subjectPayload)); this.ioPool.submit(() -> process(subjectPayload));
} }
} }

View file

@ -7,7 +7,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import ru.nbch.credit_tracker.entities.app.PhoneFidMap; import ru.nbch.credit_tracker.entities.app.PhoneFidMap;
import ru.nbch.credit_tracker.entities.indic.Name; import ru.nbch.credit_tracker.entities.indic.Name;
import ru.nbch.credit_tracker.mapper.signal.PhoneFidMapMapper;
import ru.nbch.credit_tracker.model.NameData; import ru.nbch.credit_tracker.model.NameData;
import ru.nbch.credit_tracker.model.SubjectProfile; import ru.nbch.credit_tracker.model.SubjectProfile;
import ru.nbch.credit_tracker.model.impl.SubjectPayload; import ru.nbch.credit_tracker.model.impl.SubjectPayload;
@ -24,12 +23,9 @@ import ru.nbch.credit_tracker.utils.CTUtil;
//todo опять нейминг класса, варианты: ResolveSubject; DefineIcrsSubject; IcrsMapping/Resolving; PackageSaver; Filler... //todo опять нейминг класса, варианты: ResolveSubject; DefineIcrsSubject; IcrsMapping/Resolving; PackageSaver; Filler...
public class SaveSubjectHandler implements Handler<SubjectPayload, SubjectPayload> { public class SaveSubjectHandler implements Handler<SubjectPayload, SubjectPayload> {
private final PhoneService2 phoneService2; private final PhoneService2 phoneService2;
private final PhoneFidMapMapper phoneFidMapMapper;
public SaveSubjectHandler(PhoneService2 phoneService2, public SaveSubjectHandler(PhoneService2 phoneService2) {
PhoneFidMapMapper phoneFidMapMapper) {
this.phoneService2 = phoneService2; this.phoneService2 = phoneService2;
this.phoneFidMapMapper = phoneFidMapMapper;
} }
@Override @Override
@ -70,4 +66,9 @@ public class SaveSubjectHandler implements Handler<SubjectPayload, SubjectPayloa
} }
return new SubjectPayload(taskPayload.getPackageId(), subjects); return new SubjectPayload(taskPayload.getPackageId(), subjects);
} }
@Override
public int preferredConcurrency() {
return 15;
}
} }