SemaphoreConfiguration.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.utils.semaphore;

  21. /**
  22.  * SemaphoreConfiguration
  23.  *
  24.  * @author Andrea Poli (apoli@link.it)
  25.  * @author $Author$
  26.  * @version $Rev$, $Date$
  27.  */
  28. public class SemaphoreConfiguration {

  29.     private String idNode;
  30.    
  31.     private long maxIdleTime;
  32.     private long maxLife;
  33.     private boolean emitEvent;
  34.     private ISemaphoreEventGenerator eventGenerator;
  35.    
  36.     private long serializableTimeWaitMs = 60000; // tempo massimo di attesa in millisecondi
  37.     private int serializableNextIntervalTimeMs = 100; // nuovo tentativo ogni 100 millisecondi (random 0-100)
  38.    
  39.     // E' possibile attivare anche il next interval time ms increment mode.
  40.     // Se abilitato il nuovo tenntativo viene effettuato nell'intervallo (0 - (serializableNextIntervalTimeMs+(serializableNextIntervalTimeMsIncrement*iterazione)))
  41.     // fino ad un massimo intervallo destro di maxSerializableNextIntervalTimeMs
  42.     private boolean serializableNextIntervalTimeMsIncrementMode = true;
  43.     private int serializableNextIntervalTimeMsIncrement = 200;
  44.     private int maxSerializableNextIntervalTimeMs = 2000;
  45.    
  46.     // Non e' necessario se la riga utilizzata gia' esiste (richiede una init)
  47.     private boolean serializableLevel = true;
  48.    
  49.     public String getIdNode() {
  50.         return this.idNode;
  51.     }
  52.     public void setIdNode(String idNode) {
  53.         this.idNode = idNode;
  54.     }
  55.    
  56.     public ISemaphoreEventGenerator getEventGenerator() {
  57.         return this.eventGenerator;
  58.     }
  59.     public void setEventGenerator(ISemaphoreEventGenerator eventGenerator) {
  60.         this.eventGenerator = eventGenerator;
  61.     }
  62.     public long getMaxIdleTime() {
  63.         return this.maxIdleTime;
  64.     }
  65.     public void setMaxIdleTime(long maxIdleTime) {
  66.         this.maxIdleTime = maxIdleTime;
  67.     }
  68.     public long getMaxLife() {
  69.         return this.maxLife;
  70.     }
  71.     public void setMaxLife(long maxLife) {
  72.         this.maxLife = maxLife;
  73.     }
  74.     public boolean isEmitEvent() {
  75.         return this.emitEvent;
  76.     }
  77.     public void setEmitEvent(boolean emitEvent) {
  78.         this.emitEvent = emitEvent;
  79.     }
  80.    
  81.     public long getSerializableTimeWaitMs() {
  82.         return this.serializableTimeWaitMs;
  83.     }
  84.     public void setSerializableTimeWaitMs(long serializableTimeWaitMs) {
  85.         this.serializableTimeWaitMs = serializableTimeWaitMs;
  86.     }
  87.    
  88.     public int getSerializableNextIntervalTimeMs() {
  89.         return this.serializableNextIntervalTimeMs;
  90.     }
  91.     public void setSerializableNextIntervalTimeMs(int serializableNextIntervalTimeMs) {
  92.         this.serializableNextIntervalTimeMs = serializableNextIntervalTimeMs;
  93.     }
  94.    
  95.     public boolean isSerializableNextIntervalTimeMsIncrementMode() {
  96.         return this.serializableNextIntervalTimeMsIncrementMode;
  97.     }
  98.     public void setSerializableNextIntervalTimeMsIncrementMode(boolean serializableNextIntervalTimeMsIncrementMode) {
  99.         this.serializableNextIntervalTimeMsIncrementMode = serializableNextIntervalTimeMsIncrementMode;
  100.     }
  101.     public int getSerializableNextIntervalTimeMsIncrement() {
  102.         return this.serializableNextIntervalTimeMsIncrement;
  103.     }
  104.     public void setSerializableNextIntervalTimeMsIncrement(int serializableNextIntervalTimeMsIncrement) {
  105.         this.serializableNextIntervalTimeMsIncrement = serializableNextIntervalTimeMsIncrement;
  106.     }
  107.     public int getMaxSerializableNextIntervalTimeMs() {
  108.         return this.maxSerializableNextIntervalTimeMs;
  109.     }
  110.     public void setMaxSerializableNextIntervalTimeMs(int maxSerializableNextIntervalTimeMs) {
  111.         this.maxSerializableNextIntervalTimeMs = maxSerializableNextIntervalTimeMs;
  112.     }
  113.    
  114.     public boolean isSerializableLevel() {
  115.         return this.serializableLevel;
  116.     }
  117.     public void setSerializableLevel(boolean serializableLevel) {
  118.         this.serializableLevel = serializableLevel;
  119.     }
  120. }