FSRecoveryTransazioni.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */
  20. package org.openspcoop2.monitor.engine.fs_recovery;

  21. import java.io.File;
  22. import java.sql.Connection;

  23. import org.openspcoop2.core.commons.dao.DAOFactory;
  24. import org.openspcoop2.generic_project.utils.ServiceManagerProperties;
  25. import org.openspcoop2.protocol.sdk.diagnostica.IDiagnosticProducer;
  26. import org.openspcoop2.protocol.sdk.dump.IDumpProducer;
  27. import org.openspcoop2.protocol.sdk.tracciamento.ITracciaProducer;
  28. import org.slf4j.Logger;


  29. /**
  30.  * FSRecoveryTransazioni
  31.  *
  32.  * @author Poli Andrea (apoli@link.it)
  33.  * @author $Author$
  34.  * @version $Rev$, $Date$
  35.  */
  36. public class FSRecoveryTransazioni {

  37.     private FSRecoveryTransazioniImpl transazioniImpl;
  38.     private FSRecoveryTransazioniApplicativoServerImpl transazioniApplicativoServerImpl;
  39.     private FSRecoveryTransazioniApplicativoServerConsegnaTerminataImpl transazioniApplicativoServerConsegnaTerminataImpl;
  40.     private FSRecoveryTracceImpl tracceImpl;
  41.     private FSRecoveryDiagnosticiImpl diagnosticiImpl;
  42.     private FSRecoveryDumpImpl dumpImpl;
  43.    
  44.     public FSRecoveryTransazioni(
  45.             Logger log,
  46.             boolean debug,
  47.             DAOFactory daoFactory, Logger daoFactoryLogger, ServiceManagerProperties daoFactoryServiceManagerProperties,
  48.             long gestioneSerializableDBAttesaAttiva, int gestioneSerializableDBCheckInterval,
  49.             org.openspcoop2.core.transazioni.dao.IServiceManager transazioniSM,
  50.             ITracciaProducer tracciamentoAppender,
  51.             IDiagnosticProducer diagnosticoAppender,
  52.             IDumpProducer dumpAppender, boolean transazioniRegistrazioneDumpHeadersCompactEnabled,
  53.             File directoryDiagnostici, File directoryDiagnosticiDLQ,
  54.             File directoryTracce, File directoryTracceDLQ,
  55.             File directoryDump, File directoryDumpDLQ,
  56.             File directoryTransazioniApplicativoServer, File directoryTransazioniApplicativoServerDLQ,
  57.             File directoryTransazioniApplicativoServerConsegnaTerminata, File directoryTransazioniApplicativoServerConsegnaTerminataDLQ,
  58.             File directoryTransazioni, File directoryTransazioniDLQ,
  59.             int tentativi, long msAttesaProcessingFile) {
  60.    
  61.         this.transazioniImpl = new FSRecoveryTransazioniImpl(log, debug, transazioniSM, directoryTransazioni, directoryTransazioniDLQ, tentativi, msAttesaProcessingFile);
  62.         this.transazioniApplicativoServerImpl = new FSRecoveryTransazioniApplicativoServerImpl(log, debug,
  63.                 daoFactory, daoFactoryLogger, daoFactoryServiceManagerProperties,
  64.                 gestioneSerializableDBAttesaAttiva, gestioneSerializableDBCheckInterval,
  65.                 transazioniSM, directoryTransazioniApplicativoServer, directoryTransazioniApplicativoServerDLQ, tentativi, msAttesaProcessingFile);
  66.         this.transazioniApplicativoServerConsegnaTerminataImpl = new FSRecoveryTransazioniApplicativoServerConsegnaTerminataImpl(log, debug,
  67.                 daoFactory, daoFactoryLogger, daoFactoryServiceManagerProperties,
  68.                 gestioneSerializableDBAttesaAttiva, gestioneSerializableDBCheckInterval,
  69.                 transazioniSM, directoryTransazioniApplicativoServerConsegnaTerminata, directoryTransazioniApplicativoServerConsegnaTerminataDLQ, tentativi, msAttesaProcessingFile);
  70.         this.tracceImpl = new FSRecoveryTracceImpl(log, debug, tracciamentoAppender, directoryTracce, directoryTracceDLQ, tentativi, msAttesaProcessingFile);
  71.         this.dumpImpl = new FSRecoveryDumpImpl(log, debug, dumpAppender, directoryDump, directoryDumpDLQ, tentativi, msAttesaProcessingFile);
  72.         this.dumpImpl.setTransazioniRegistrazioneDumpHeadersCompactEnabled(transazioniRegistrazioneDumpHeadersCompactEnabled);
  73.         this.diagnosticiImpl = new FSRecoveryDiagnosticiImpl(log, debug, diagnosticoAppender, directoryDiagnostici, directoryDiagnosticiDLQ, tentativi, msAttesaProcessingFile);
  74.     }
  75.    
  76.     public void process(Connection connection){
  77.        
  78.         this.transazioniImpl.process(connection);
  79.         this.transazioniApplicativoServerImpl.process(connection);
  80.         this.transazioniApplicativoServerConsegnaTerminataImpl.process(connection);
  81.         this.tracceImpl.process(connection);
  82.         this.diagnosticiImpl.process(connection);
  83.         this.dumpImpl.process(connection);
  84.     }
  85.    
  86. }