Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-04-22 15:47:21 +02:00
13 changed files with 20 additions and 95 deletions

View File

@@ -86,7 +86,7 @@ public class EmsCoreDBLoader {
private void discoverAllConnections(MultiDBTransactionManager multiDBTransactionManager) throws Exception {
ArrayList<Callable<Void>> futureTasks = new ArrayList<>();
for (AvailableConnectionsModel model : settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, settingsController.getHistoryProfileDb())) {
for (AvailableConnectionsModel model : settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true)) {
AtomicReference<AvailableConnectionsModel> modelAtomicReference = new AtomicReference<>(model);

View File

@@ -8,7 +8,6 @@ import it.integry.ems.migration.dto.MigrationStatusEnum;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
@@ -39,9 +38,6 @@ public class MigrationSetupService {
@Autowired
private EntityProcessor entityProcessor;
@Autowired
private SettingsController settingsController;
@Autowired
private MultiDBTransactionManager multiDBTransactionManager;
@@ -50,8 +46,7 @@ public class MigrationSetupService {
final List<MigrationStatusDTO> migrationStatuses = new ArrayList<>();
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> databases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> databases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel availableConnectionsModel : databases) {
if (IntegryCustomer.getFromDB(IntegryCustomerDB.parse(availableConnectionsModel.getDbName())) == IntegryCustomer.Integry &&

View File

@@ -4,7 +4,6 @@ import com.annimon.stream.Stream;
import it.integry.ems.service.dto.production.MRPDailyConsumiDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.utility.*;
@@ -31,9 +30,6 @@ public class MrpConsumiHandlerService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private SettingsController settingsController;
@Autowired
public SetupGest setupGest;
@@ -45,13 +41,11 @@ public class MrpConsumiHandlerService {
@Scheduled(fixedDelay = 1, timeUnit = TimeUnit.MINUTES, initialDelay = 60, zone = "Europe/Rome")
private void updateData() throws Exception {
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) {
boolean isEnabled = mrpSetupHandlerService.isGestioneAbilitata(connectionModel.getDbName());
if(!isEnabled) continue;
if (!isEnabled) continue;
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionModel, false)) {
int timingId = UtilityTiming.startNewTiming(MrpConsumiHandlerService.class.getSimpleName() + " (" + connectionModel.getProfileName() + ")");

View File

@@ -4,7 +4,6 @@ import it.integry.ems.service.dto.production.MRPDailySetupGruppiDTO;
import it.integry.ems.service.dto.production.MRPDailySetupSottogruppiDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
@@ -32,9 +31,6 @@ public class MrpSetupHandlerService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private SettingsController settingsController;
@Autowired
public SetupGest setupGest;
@@ -56,8 +52,7 @@ public class MrpSetupHandlerService {
"WHERE cod_opz = 'WG125'\n" +
" AND flag_abil <> 'N'";
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
@@ -83,9 +78,7 @@ public class MrpSetupHandlerService {
private void updateData() throws Exception {
if (!canBeExecuted) return;
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) {
boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName());

View File

@@ -6,7 +6,6 @@ import it.integry.ems.service.dto.production.OrdineInevasoGroupMercDTO;
import it.integry.ems.service.dto.production.OrdineLavorazioneDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
import it.integry.ems_model.service.SetupGest;
@@ -32,9 +31,6 @@ public class ProductionOrderDataHandlerService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private SettingsController settingsController;
@Autowired
public SetupGest setupGest;
@@ -58,8 +54,7 @@ public class ProductionOrderDataHandlerService {
"WHERE cod_opz IN ('WG069', 'WG135')\n" +
" AND flag_abil <> 'N'";
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
@@ -80,9 +75,7 @@ public class ProductionOrderDataHandlerService {
public void updateInternalCache() throws Exception {
boolean onlyInevasi = true;
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) {
boolean isEnabled = executionPermission.getOrDefault(connectionModel.getDbName(), false);

View File

@@ -107,10 +107,9 @@ public class SettingsModel implements InitializingBean {
.collect(Collectors.toList());
}
public List<AvailableConnectionsModel> getAvailableConnectionsWithoutDuplicatedProfiles(boolean onlyInternal, String historyProfileDb) {
public List<AvailableConnectionsModel> getAvailableConnectionsWithoutDuplicatedProfiles(boolean onlyInternal) {
Map<String, List<AvailableConnectionsModel>> databases = getAvailableConnections(onlyInternal)
.stream()
.filter(x -> !historyProfileDb.equalsIgnoreCase(x.getProfileName()))
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName));
return databases.keySet().stream()

View File

@@ -3,7 +3,6 @@ package it.integry.ems.sync.MultiDBTransaction;
import it.integry.ems.datasource.DataSource;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.exception.UnexpectedConnectionSwitchException;
import it.integry.ems.utility.UtilityDebug;
import org.apache.logging.log4j.LogManager;
@@ -13,10 +12,7 @@ import org.springframework.stereotype.Component;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
@@ -25,9 +21,6 @@ public class BasicConnectionPool {
private static final Logger logger = LogManager.getLogger(BasicConnectionPool.class);
private final String ExtraConnectionNamePrefix = "EMS Extra Connection #";
@Autowired
private SettingsController settingsController;
@Autowired
private SettingsModel settingsModel;
@@ -93,7 +86,7 @@ public class BasicConnectionPool {
private void initializeConnections(int poolSize) throws Exception {
final List<AvailableConnectionsModel> availableConnections =
settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(false, settingsController.getHistoryProfileDb());
settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(false);
for (final AvailableConnectionsModel model : availableConnections) {
String dbName = model.getDbName();
@@ -194,7 +187,7 @@ public class BasicConnectionPool {
// poolLock.lock();
try {
// Calcola il numero totale di connessioni esistenti
int baseCount = connectionPool.getOrDefault(dbName, new ArrayList<>(0)).size() + usedConnections.getOrDefault(dbName, new ArrayList<>(0)).size();
int baseCount = connectionPool.get(dbName).size() + usedConnections.get(dbName).size();
int extraCount = extraConnectionCounters.get(dbName).incrementAndGet();

View File

@@ -4,7 +4,6 @@ import it.integry.annotations.PostContextConstruct;
import it.integry.ems.model.IntegryApplicationEnum;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -32,9 +31,6 @@ public class UserCacheService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private SettingsController settingsController;
@Autowired
private TaskExecutorService taskExecutorService;
@@ -60,15 +56,8 @@ public class UserCacheService {
private void internalCacheUpdate(boolean forceStart) {
if(!forceStart && !canStart) return;
String historyProfileDb;
try {
historyProfileDb = settingsController.getHistoryProfileDb();
} catch (Exception e) {
throw new RuntimeException(e);
}
List<AvailableConnectionsModel> availableConnectionsModels =
settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) {
for (AvailableConnectionsModel model : availableConnectionsModels) {

View File

@@ -2,7 +2,6 @@ package it.integry.security.service;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
import it.integry.ems_model.utility.UtilityDB;
@@ -22,9 +21,6 @@ public class DeviceInternalService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private SettingsController settingsController;
@Scheduled(cron = "0 0 0 * * *", zone = "Europe/Rome")
private void cleanOrphanDevices() {
@@ -36,7 +32,7 @@ public class DeviceInternalService {
"WHERE stb_auth_tokens.device_id IS NULL";
try {
List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, settingsController.getHistoryProfileDb());
List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for(AvailableConnectionsModel availableConnection : availableConnections) {
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(availableConnection)) {

View File

@@ -4,7 +4,6 @@ import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
import it.integry.ems.utility.UtilityEntity;
@@ -35,9 +34,6 @@ public class ContrattiDiAcquistoHandlerService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private SettingsController settingsController;
@Autowired
private EntityProcessor entityProcessor;
@@ -57,8 +53,7 @@ public class ContrattiDiAcquistoHandlerService {
"WHERE cod_opz = 'WG098'\n" +
" AND flag_abil <> 'N'";
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
@@ -79,9 +74,7 @@ public class ContrattiDiAcquistoHandlerService {
private void updateProgContrattoA() throws Exception {
if (!canBeExecuted) return;
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionModel, false)) {

View File

@@ -4,7 +4,6 @@ import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
import it.integry.ems.utility.UtilityEntity;
@@ -35,9 +34,6 @@ public class ContrattiDiVenditaHandlerService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private SettingsController settingsController;
@Autowired
private EntityProcessor entityProcessor;
@@ -56,8 +52,7 @@ public class ContrattiDiVenditaHandlerService {
"WHERE cod_opz = 'WG097'\n" +
" AND flag_abil <> 'N'";
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
@@ -78,9 +73,7 @@ public class ContrattiDiVenditaHandlerService {
private void updateProgContrattoV() throws Exception {
if (!canBeExecuted) return;
String historyProfileDb = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionModel, false)) {

View File

@@ -5,7 +5,6 @@ import it.integry.ems.looper.service.LooperService;
import it.integry.ems.retail.wms.ordini_acquisto.dto.BarcodeOrdiniAcquistoDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
import it.integry.ems_model.service.SetupGest;
@@ -31,9 +30,6 @@ public class WMSBarcodeOrdiniAcquistoHandlerService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private SettingsController settingsController;
@Autowired
public SetupGest setupGest;
@@ -64,9 +60,7 @@ public class WMSBarcodeOrdiniAcquistoHandlerService {
public void internalCache(HashMap<String, List<BarcodeOrdiniAcquistoDTO>> barcodeCachedData) {
try {
String historyProfileDb = settingsController.getHistoryProfileDb();
List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfileDb);
List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel availableConnection : availableConnections) {
String profileName = availableConnection.getProfileName();

View File

@@ -11,7 +11,6 @@ import it.integry.ems.export.base.EntityExporterUtility;
import it.integry.ems.export.enums.EntityExportType;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.system.Import.AnagraficaImporter;
import it.integry.ems.system.export.AnagraficaExporter;
@@ -36,9 +35,6 @@ public class EmsSystemContext {
private final Logger logger = LogManager.getLogger();
@Autowired
private SettingsController settingsController;
@Autowired
private SettingsModel settingsModel;
@@ -55,10 +51,7 @@ public class EmsSystemContext {
@Scheduled(cron = "0 0 0 * * *", zone = "Europe/Rome")
private void cleanTempTablesAndViews() throws Exception {
String historyProfile = settingsController.getHistoryProfileDb();
final List<AvailableConnectionsModel> availableDatabases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, historyProfile);
final List<AvailableConnectionsModel> availableDatabases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
Pattern pattern1 = Pattern.compile("(t[0-9])\\w+", Pattern.CASE_INSENSITIVE);
Pattern pattern2 = Pattern.compile("(m[0-9])\\w+", Pattern.CASE_INSENSITIVE);