FSRecoveryConfig.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 Link.it srl (https://link.it).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3, as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openspcoop2.monitor.engine.fs_recovery;
import org.openspcoop2.monitor.engine.exceptions.EngineException;
import org.openspcoop2.monitor.engine.config.MonitorProperties;
import org.openspcoop2.monitor.engine.constants.CostantiConfigurazione;
import org.openspcoop2.utils.LoggerWrapperFactory;
import org.slf4j.Logger;
/**
* FSRecoveryConfig
*
* @author Poli Andrea (apoli@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class FSRecoveryConfig {
private Logger logCore = null;
private Logger logSql = null;
/** Indicazione sul numero massimo di tentativi di recovery */
private int tentativi;
/** Indicazione se deve essere effettuato il log delle query */
private boolean debug = false;
/** Indicazione se devono essere ripristinati gli allarmi */
private boolean ripristinoEventi = false;
/** Indicazione se devono essere ripristinati le transazioni (con tracce e diagnostici) */
private boolean ripristinoTransazioni = false;
/** Indicazione dopo quanti millisecondi iniziare a processare un file presente nel repository */
private long processingTransactionFileAfterMs;
private long processingEventFileAfterMs;
/** Repository */
private String repository = null;
/** DefaultProtocol */
private String defaultProtocol = null;
/** Costruttore */
public FSRecoveryConfig(boolean readPropertiesFromFile) throws EngineException{
try{
if(readPropertiesFromFile){
this.logCore = LoggerWrapperFactory.getLogger("org.openspcoop2.monitor.engine.fs_recovery");
this.logSql = LoggerWrapperFactory.getLogger("org.openspcoop2.monitor.engine.fs_recovery.sql");
MonitorProperties props = MonitorProperties.getInstance(this.logCore);
if ("true".equals(props.getProperty(CostantiConfigurazione.FS_RECOVERY_DEBUG, "false", true))) {
this.debug = true;
} else {
this.debug = false;
}
this.repository = props.getProperty(CostantiConfigurazione.FS_RECOVERY_REPOSITORY_DIR, true, true);
if ("true".equals(props.getProperty(CostantiConfigurazione.FS_RECOVERY_EVENTS_ENABLED, "false", true))) {
this.ripristinoEventi = true;
} else {
this.ripristinoEventi = false;
}
if ("true".equals(props.getProperty(CostantiConfigurazione.FS_RECOVERY_TRANSACTION_ENABLED, "true", true))) {
this.ripristinoTransazioni = true;
} else {
this.ripristinoTransazioni = false;
}
this.tentativi = Integer.parseInt(props.getProperty(CostantiConfigurazione.FS_RECOVERY_MAX_ATTEMPTS, true, true));
this.processingEventFileAfterMs = Long.parseLong(props.getProperty(CostantiConfigurazione.FS_RECOVERY_EVENTS_PROCESSING_FILE_AFTER_MS, true, true));
this.processingTransactionFileAfterMs = Long.parseLong(props.getProperty(CostantiConfigurazione.FS_RECOVERY_TRANSACTION_PROCESSING_FILE_AFTER_MS, true, true));
this.defaultProtocol = props.getProperty(CostantiConfigurazione.PDD_MONITOR_DEFAULT_PROTOCOL, false, true);
}
}catch(Exception e){
throw new EngineException(e.getMessage(),e);
}
}
public Logger getLogCore() {
return this.logCore;
}
public void setLogCore(Logger logCore) {
this.logCore = logCore;
}
public Logger getLogSql() {
return this.logSql;
}
public void setLogSql(Logger logSql) {
this.logSql = logSql;
}
public boolean isDebug() {
return this.debug;
}
public void setDebug(boolean debug) {
this.debug = debug;
}
public boolean isRipristinoEventi() {
return this.ripristinoEventi;
}
public void setRipristinoEventi(boolean ripristinoEventi) {
this.ripristinoEventi = ripristinoEventi;
}
public boolean isRipristinoTransazioni() {
return this.ripristinoTransazioni;
}
public void setRipristinoTransazioni(boolean ripristinoTransazioni) {
this.ripristinoTransazioni = ripristinoTransazioni;
}
public String getRepository() {
return this.repository;
}
public void setRepository(String repository) {
this.repository = repository;
}
public int getTentativi() {
return this.tentativi;
}
public void setTentativi(int tentativi) {
this.tentativi = tentativi;
}
public long getProcessingTransactionFileAfterMs() {
return this.processingTransactionFileAfterMs;
}
public void setProcessingTransactionFileAfterMs(long processingTransactionFileAfterMs) {
this.processingTransactionFileAfterMs = processingTransactionFileAfterMs;
}
public long getProcessingEventFileAfterMs() {
return this.processingEventFileAfterMs;
}
public void setProcessingEventFileAfterMs(long processingEventFileAfterMs) {
this.processingEventFileAfterMs = processingEventFileAfterMs;
}
public String getDefaultProtocol() {
return this.defaultProtocol;
}
public void setDefaultProtocol(String defaultProtocol) {
this.defaultProtocol = defaultProtocol;
}
}