StatisticsJMXResource.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.pdd.core.jmx;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import javax.management.Attribute;
import javax.management.AttributeList;
import javax.management.AttributeNotFoundException;
import javax.management.DynamicMBean;
import javax.management.InvalidAttributeValueException;
import javax.management.JMException;
import javax.management.MBeanAttributeInfo;
import javax.management.MBeanConstructorInfo;
import javax.management.MBeanException;
import javax.management.MBeanInfo;
import javax.management.MBeanOperationInfo;
import javax.management.NotificationBroadcasterSupport;
import javax.management.ReflectionException;
import org.openspcoop2.pdd.core.handlers.statistics.StatisticsCollection;
import org.openspcoop2.utils.Utilities;
import org.openspcoop2.utils.date.DateManager;
import org.openspcoop2.utils.date.DateUtils;
/**
* Implementazione JMX per la gestione dell'autorizzazione
*
* @author Poli Andrea (apoli@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class StatisticsJMXResource extends NotificationBroadcasterSupport implements DynamicMBean {
/** Nomi proprieta' */
public static final String INTERVALLO_STATISTICO = "Intervallo Temporale dei dati Statistici";
public static final String NUMERO_TRANSAZIONI = "Numero transazioni PdD";
public static final String TXT_NUMERO_TRANSAZIONI = "Numero di transazioni (totale/ok/inErrore) gestite dalla PdD";
public static final String NUMERO_TRANSAZIONI_PD = "Numero transazioni PortaDelegata";
public static final String TXT_NUMERO_TRANSAZIONI_PD = "Numero di transazioni (totale/ok/inErrore) gestite sulla PortaDelegata";
public static final String NUMERO_TRANSAZIONI_PA = "Numero transazioni PortaApplicativa";
public static final String TXT_NUMERO_TRANSAZIONI_PA = "Numero di transazioni (totale/ok/inErrore) gestite sulla PortaApplicativa";
public static final String LATENZA_ATTRAVERSAMENTO = "Tempo attraversamento PdD";
public static final String TXT_LATENZA_ATTRAVERSAMENTO = "Tempo di attraversamento (min/avg/max) della PdD";
public static final String LATENZA_ATTRAVERSAMENTO_REQUEST =
"Tempo attraversamento richieste";
public static final String TXT_LATENZA_ATTRAVERSAMENTO_REQUEST =
"Tempo di attraversamento (min/avg/max) della PdD per i messaggi di richiesta";
public static final String LATENZA_ATTRAVERSAMENTO_RESPONSE =
"Tempo attraversamento risposte";
public static final String TXT_LATENZA_ATTRAVERSAMENTO_RESPONSE =
"Tempo di attraversamento (min/avg/max) della PdD per i messaggi di risposta";
public static final String LATENZA_ATTRAVERSAMENTO_PD = "Tempo attraversamento PortaDelegata";
public static final String TXT_LATENZA_ATTRAVERSAMENTO_PD = "Tempo di attraversamento (min/avg/max) della PortaDelegata";
public static final String LATENZA_ATTRAVERSAMENTO_PD_REQUEST =
"Tempo attraversamento richieste sulla PortaDelegata";
public static final String TXT_LATENZA_ATTRAVERSAMENTO_PD_REQUEST =
"Tempo di attraversamento (min/avg/max) della PortaDelegata per i messaggi di richiesta";
public static final String LATENZA_ATTRAVERSAMENTO_PD_RESPONSE =
"Tempo attraversamento risposte sulla PortaDelegata";
public static final String TXT_LATENZA_ATTRAVERSAMENTO_PD_RESPONSE =
"Tempo di attraversamento (min/avg/max) della PortaDelegata per i messaggi di risposta";
public static final String LATENZA_ATTRAVERSAMENTO_PA = "Tempo attraversamento PortaApplicativa";
public static final String TXT_LATENZA_ATTRAVERSAMENTO_PA = "Tempo di attraversamento (min/avg/max) della PortaApplicativa";
public static final String LATENZA_ATTRAVERSAMENTO_PA_REQUEST =
"Tempo attraversamento richieste sulla PortaApplicativa";
public static final String TXT_LATENZA_ATTRAVERSAMENTO_PA_REQUEST =
"Tempo di attraversamento (min/avg/max) della PortaApplicativa per i messaggi di richiesta";
public static final String LATENZA_ATTRAVERSAMENTO_PA_RESPONSE =
"Tempo attraversamento risposte sulla PortaApplicativa";
public static final String TXT_LATENZA_ATTRAVERSAMENTO_PA_RESPONSE =
"Tempo di attraversamento (min/avg/max) della PortaApplicativa per i messaggi di risposta";
public static final String DIMENSIONE_MESSAGGI = "Dimensione messaggi PdD";
public static final String DIMENSIONE_MESSAGGI_IN_REQUEST = "Dimensione richieste in ingresso sulla PdD";
public static final String DIMENSIONE_MESSAGGI_OUT_REQUEST = "Dimensione richieste in uscita dalla PdD";
public static final String DIMENSIONE_MESSAGGI_IN_RESPONSE = "Dimensione risposte in ingresso sulla PdD";
public static final String DIMENSIONE_MESSAGGI_OUT_RESPONSE = "Dimensione risposte in uscita dalla PdD";
public static final String TXT_DIMENSIONE_MESSAGGI = "Dimensione dei messaggi (min/avg/max) gestiti dalla PdD";
public static final String TXT_DIMENSIONE_MESSAGGI_IN_REQUEST = "Dimensione dei messaggi di richiesta (min/avg/max) in ingresso sulla PdD";
public static final String TXT_DIMENSIONE_MESSAGGI_OUT_REQUEST = "Dimensione dei messaggi di richiesta (min/avg/max) in uscita dalla PdD";
public static final String TXT_DIMENSIONE_MESSAGGI_IN_RESPONSE = "Dimensione dei messaggi di risposta (min/avg/max) in ingresso sulla PdD";
public static final String TXT_DIMENSIONE_MESSAGGI_OUT_RESPONSE = "Dimensione dei messaggi di risposta (min/avg/max) in uscita dalla PdD";
public static final String DIMENSIONE_MESSAGGI_PD = "Dimensione messaggi PortaDelegata";
public static final String DIMENSIONE_MESSAGGI_PD_IN_REQUEST = "Dimensione richieste in ingresso sulla PortaDelegata";
public static final String DIMENSIONE_MESSAGGI_PD_OUT_REQUEST = "Dimensione richieste in uscita dalla PortaDelegata";
public static final String DIMENSIONE_MESSAGGI_PD_IN_RESPONSE = "Dimensione risposte in ingresso sulla PortaDelegata";
public static final String DIMENSIONE_MESSAGGI_PD_OUT_RESPONSE = "Dimensione risposte in uscita dalla PortaDelegata";
public static final String TXT_DIMENSIONE_MESSAGGI_PD = "Dimensione dei messaggi (min/avg/max) gestiti dalla PortaDelegata";
public static final String TXT_DIMENSIONE_MESSAGGI_PD_IN_REQUEST = "Dimensione dei messaggi di richiesta (min/avg/max) in ingresso sulla PortaDelegata";
public static final String TXT_DIMENSIONE_MESSAGGI_PD_OUT_REQUEST = "Dimensione dei messaggi di richiesta (min/avg/max) in uscita dalla PortaDelegata";
public static final String TXT_DIMENSIONE_MESSAGGI_PD_IN_RESPONSE = "Dimensione dei messaggi di risposta (min/avg/max) in ingresso sulla PortaDelegata";
public static final String TXT_DIMENSIONE_MESSAGGI_PD_OUT_RESPONSE = "Dimensione dei messaggi di risposta (min/avg/max) in uscita dalla PortaDelegata";
public static final String DIMENSIONE_MESSAGGI_PA = "Dimensione messaggi PortaApplicativa";
public static final String DIMENSIONE_MESSAGGI_PA_IN_REQUEST = "Dimensione richieste in ingresso sulla PortaApplicativa";
public static final String DIMENSIONE_MESSAGGI_PA_OUT_REQUEST = "Dimensione richieste in uscita dalla PortaApplicativa";
public static final String DIMENSIONE_MESSAGGI_PA_IN_RESPONSE = "Dimensione risposte in ingresso sulla PortaApplicativa";
public static final String DIMENSIONE_MESSAGGI_PA_OUT_RESPONSE = "Dimensione risposte in uscita dalla PortaApplicativa";
public static final String TXT_DIMENSIONE_MESSAGGI_PA = "Dimensione dei messaggi (min/avg/max) gestiti dalla PortaApplicativa";
public static final String TXT_DIMENSIONE_MESSAGGI_PA_IN_REQUEST = "Dimensione dei messaggi di richiesta (min/avg/max) in ingresso sulla PortaApplicativa";
public static final String TXT_DIMENSIONE_MESSAGGI_PA_OUT_REQUEST = "Dimensione dei messaggi di richiesta (min/avg/max) in uscita dalla PortaApplicativa";
public static final String TXT_DIMENSIONE_MESSAGGI_PA_IN_RESPONSE = "Dimensione dei messaggi di risposta (min/avg/max) in ingresso sulla PortaApplicativa";
public static final String TXT_DIMENSIONE_MESSAGGI_PA_OUT_RESPONSE = "Dimensione dei messaggi di risposta (min/avg/max) in uscita dalla PortaApplicativa";
/** Nomi metodi */
public static final String REFRESH = "refresh";
public static final String RESET = "reset";
/** Attributi */
private String intervallo_statistico = "";
private String numero_transazioni = "";
private String numero_transazioni_pd = "";
private String numero_transazioni_pa = "";
private String latenza_attraversamento = "";
private String latenza_attraversamento_request = "";
private String latenza_attraversamento_response = "";
private String latenza_attraversamento_pd = "";
private String latenza_attraversamento_pd_request = "";
private String latenza_attraversamento_pd_response = "";
private String latenza_attraversamento_pa = "";
private String latenza_attraversamento_pa_request = "";
private String latenza_attraversamento_pa_response = "";
private String dimensione_messaggi = "";
private String dimensione_messaggi_in_request = "";
private String dimensione_messaggi_out_request = "";
private String dimensione_messaggi_in_response = "";
private String dimensione_messaggi_out_response = "";
private String dimensione_messaggi_pd = "";
private String dimensione_messaggi_pd_in_request = "";
private String dimensione_messaggi_pd_out_request = "";
private String dimensione_messaggi_pd_in_response = "";
private String dimensione_messaggi_pd_out_response = "";
private String dimensione_messaggi_pa = "";
private String dimensione_messaggi_pa_in_request = "";
private String dimensione_messaggi_pa_out_request = "";
private String dimensione_messaggi_pa_in_response = "";
private String dimensione_messaggi_pa_out_response = "";
/** getAttribute */
@Override
public Object getAttribute(String attributeName) throws AttributeNotFoundException,MBeanException,ReflectionException{
if( (attributeName==null) || (attributeName.equals("")) )
throw new IllegalArgumentException("Il nome dell'attributo e' nullo o vuoto");
if(attributeName.equals(StatisticsJMXResource.INTERVALLO_STATISTICO))
return this.intervallo_statistico;
else if(attributeName.equals(StatisticsJMXResource.NUMERO_TRANSAZIONI))
return this.numero_transazioni;
else if(attributeName.equals(StatisticsJMXResource.NUMERO_TRANSAZIONI_PD))
return this.numero_transazioni_pd;
else if(attributeName.equals(StatisticsJMXResource.NUMERO_TRANSAZIONI_PA))
return this.numero_transazioni_pa;
else if(attributeName.equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO))
return this.latenza_attraversamento;
else if(attributeName.equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_REQUEST))
return this.latenza_attraversamento_request;
else if(attributeName.equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_RESPONSE))
return this.latenza_attraversamento_response;
else if(attributeName.equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PD))
return this.latenza_attraversamento_pd;
else if(attributeName.equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PD_REQUEST))
return this.latenza_attraversamento_pd_request;
else if(attributeName.equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PD_RESPONSE))
return this.latenza_attraversamento_pd_response;
else if(attributeName.equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PA))
return this.latenza_attraversamento_pa;
else if(attributeName.equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PA_REQUEST))
return this.latenza_attraversamento_pa_request;
else if(attributeName.equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PA_RESPONSE))
return this.latenza_attraversamento_pa_response;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI))
return this.dimensione_messaggi;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_IN_REQUEST))
return this.dimensione_messaggi_in_request;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_OUT_REQUEST))
return this.dimensione_messaggi_out_request;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_IN_RESPONSE))
return this.dimensione_messaggi_in_response;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_OUT_RESPONSE))
return this.dimensione_messaggi_out_response;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD))
return this.dimensione_messaggi_pd;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_IN_REQUEST))
return this.dimensione_messaggi_pd_in_request;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_OUT_REQUEST))
return this.dimensione_messaggi_pd_out_request;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_IN_RESPONSE))
return this.dimensione_messaggi_pd_in_response;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_OUT_RESPONSE))
return this.dimensione_messaggi_pd_out_response;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA))
return this.dimensione_messaggi_pa;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_IN_REQUEST))
return this.dimensione_messaggi_pa_in_request;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_OUT_REQUEST))
return this.dimensione_messaggi_pa_out_request;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_IN_RESPONSE))
return this.dimensione_messaggi_pa_in_response;
else if(attributeName.equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_OUT_RESPONSE))
return this.dimensione_messaggi_pa_out_response;
throw new AttributeNotFoundException("Attributo "+attributeName+" non trovato");
}
/** getAttributes */
@Override
public AttributeList getAttributes(String [] attributesNames){
if(attributesNames==null)
throw new IllegalArgumentException("Array nullo");
AttributeList list = new AttributeList();
for (int i=0; i<attributesNames.length; i++){
try{
list.add(new Attribute(attributesNames[i],getAttribute(attributesNames[i])));
}catch(JMException ex){}
}
return list;
}
/** setAttribute */
@Override
public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException{
if( attribute==null )
throw new IllegalArgumentException("Il nome dell'attributo e' nullo");
try{
if(attribute.getName().equals(StatisticsJMXResource.INTERVALLO_STATISTICO)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.NUMERO_TRANSAZIONI)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.NUMERO_TRANSAZIONI_PD)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.NUMERO_TRANSAZIONI_PA)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_REQUEST)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_RESPONSE)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PD)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PD_REQUEST)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PD_RESPONSE)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PA)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PA_REQUEST)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PA_RESPONSE)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_IN_REQUEST)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_OUT_REQUEST)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_IN_RESPONSE)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_OUT_RESPONSE)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_IN_REQUEST)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_OUT_REQUEST)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_IN_RESPONSE)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_OUT_RESPONSE)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_IN_REQUEST)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_OUT_REQUEST)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_IN_RESPONSE)){
// nothing DO
}
else if(attribute.getName().equals(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_OUT_RESPONSE)){
// nothing DO
}
else
throw new AttributeNotFoundException("Attributo "+attribute.getName()+" non trovato");
}catch(ClassCastException ce){
throw new InvalidAttributeValueException("il tipo "+attribute.getValue().getClass()+" dell'attributo "+attribute.getName()+" non e' valido");
}catch(JMException j){
throw new MBeanException(j);
}
}
/** setAttributes */
@Override
public AttributeList setAttributes(AttributeList list){
if(list==null)
throw new IllegalArgumentException("Lista degli attributi e' nulla");
AttributeList ret = new AttributeList();
Iterator<?> it = ret.iterator();
while(it.hasNext()){
try{
Attribute attribute = (Attribute) it.next();
setAttribute(attribute);
ret.add(attribute);
}catch(JMException ex){}
}
return ret;
}
/** invoke */
@Override
public Object invoke(String actionName, Object[]params, String[]signature) throws MBeanException,ReflectionException{
if( (actionName==null) || (actionName.equals("")) )
throw new IllegalArgumentException("Nessuna operazione definita");
if(actionName.equals(StatisticsJMXResource.REFRESH)){
return this.refresh();
}
else if(actionName.equals(StatisticsJMXResource.RESET)){
return this.reset();
}
throw new UnsupportedOperationException("Operazione "+actionName+" sconosciuta");
}
/* MBean info */
@Override
public MBeanInfo getMBeanInfo(){
// Descrizione della classe nel MBean
String className = this.getClass().getName();
String description = "Stato dei servizi attivi";
// MetaData per gli attributi
MBeanAttributeInfo intervalloStatistico_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.INTERVALLO_STATISTICO,String.class.getName(),
"Intervallo temporale a cui si riferisce il rilevamento statistico",
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo numeroTransazioni_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.NUMERO_TRANSAZIONI,String.class.getName(),
StatisticsJMXResource.TXT_NUMERO_TRANSAZIONI,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo numeroTransazioniPD_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.NUMERO_TRANSAZIONI_PD,String.class.getName(),
StatisticsJMXResource.TXT_NUMERO_TRANSAZIONI_PD,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo numeroTransazioniPA_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.NUMERO_TRANSAZIONI_PA,String.class.getName(),
StatisticsJMXResource.TXT_NUMERO_TRANSAZIONI_PA,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo latenzaAttraversamento_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO,String.class.getName(),
StatisticsJMXResource.TXT_LATENZA_ATTRAVERSAMENTO,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo latenzaAttraversamentoRequest_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_REQUEST,String.class.getName(),
StatisticsJMXResource.TXT_LATENZA_ATTRAVERSAMENTO_REQUEST,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo latenzaAttraversamentoResponse_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_RESPONSE,String.class.getName(),
StatisticsJMXResource.TXT_LATENZA_ATTRAVERSAMENTO_RESPONSE,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo latenzaAttraversamentoPD_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PD,String.class.getName(),
StatisticsJMXResource.TXT_LATENZA_ATTRAVERSAMENTO_PD,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo latenzaAttraversamentoPDRequest_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PD_REQUEST,String.class.getName(),
StatisticsJMXResource.TXT_LATENZA_ATTRAVERSAMENTO_PD_REQUEST,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo latenzaAttraversamentoPDResponse_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PD_RESPONSE,String.class.getName(),
StatisticsJMXResource.TXT_LATENZA_ATTRAVERSAMENTO_PD_RESPONSE,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo latenzaAttraversamentoPA_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PA,String.class.getName(),
StatisticsJMXResource.TXT_LATENZA_ATTRAVERSAMENTO_PA,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo latenzaAttraversamentoPARequest_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PA_REQUEST,String.class.getName(),
StatisticsJMXResource.TXT_LATENZA_ATTRAVERSAMENTO_PA_REQUEST,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo latenzaAttraversamentoPAResponse_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.LATENZA_ATTRAVERSAMENTO_PA_RESPONSE,String.class.getName(),
StatisticsJMXResource.TXT_LATENZA_ATTRAVERSAMENTO_PA_RESPONSE,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggi_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiInRequest_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_IN_REQUEST,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_IN_REQUEST,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiOutRequest_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_OUT_REQUEST,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_OUT_REQUEST,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiInResponse_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_IN_RESPONSE,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_IN_RESPONSE,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiOutResponse_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_OUT_RESPONSE,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_OUT_RESPONSE,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPD_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PD,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPDInRequest_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_IN_REQUEST,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PD_IN_REQUEST,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPDOutRequest_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_OUT_REQUEST,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PD_OUT_REQUEST,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPDInResponse_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_IN_RESPONSE,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PD_IN_RESPONSE,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPDOutResponse_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PD_OUT_RESPONSE,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PD_OUT_RESPONSE,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPA_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PA,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPAInRequest_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_IN_REQUEST,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PA_IN_REQUEST,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPAOutRequest_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_OUT_REQUEST,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PA_OUT_REQUEST,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPAInResponse_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_IN_RESPONSE,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PA_IN_RESPONSE,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
MBeanAttributeInfo dimensioneMessaggiPAOutResponse_VAR
= new MBeanAttributeInfo(StatisticsJMXResource.DIMENSIONE_MESSAGGI_PA_OUT_RESPONSE,String.class.getName(),
StatisticsJMXResource.TXT_DIMENSIONE_MESSAGGI_PA_OUT_RESPONSE,
JMXUtils.JMX_ATTRIBUTE_READABLE,!JMXUtils.JMX_ATTRIBUTE_WRITABLE,!JMXUtils.JMX_ATTRIBUTE_IS_GETTER);
// MetaData per le operazioni
MBeanOperationInfo refresh_OP
= new MBeanOperationInfo(StatisticsJMXResource.REFRESH,"Aggiorna le statistiche",
null,
String.class.getName(),
MBeanOperationInfo.ACTION);
MBeanOperationInfo reset_OP
= new MBeanOperationInfo(StatisticsJMXResource.RESET,"Reset delle informazioni statistiche",
null,
String.class.getName(),
MBeanOperationInfo.ACTION);
// Mbean costruttore
MBeanConstructorInfo defaultConstructor =
new MBeanConstructorInfo("Default Constructor","Crea e inizializza una nuova istanza del MBean",null);
// Lista attributi
MBeanAttributeInfo[] attributes =
new MBeanAttributeInfo[]{intervalloStatistico_VAR,
numeroTransazioni_VAR,numeroTransazioniPD_VAR,numeroTransazioniPA_VAR,
latenzaAttraversamento_VAR,latenzaAttraversamentoRequest_VAR,latenzaAttraversamentoResponse_VAR,
latenzaAttraversamentoPD_VAR,latenzaAttraversamentoPDRequest_VAR,latenzaAttraversamentoPDResponse_VAR,
latenzaAttraversamentoPA_VAR,latenzaAttraversamentoPARequest_VAR,latenzaAttraversamentoPAResponse_VAR,
dimensioneMessaggi_VAR,dimensioneMessaggiInRequest_VAR,dimensioneMessaggiOutRequest_VAR,
dimensioneMessaggiInResponse_VAR,dimensioneMessaggiOutResponse_VAR,
dimensioneMessaggiPD_VAR,dimensioneMessaggiPDInRequest_VAR,dimensioneMessaggiPDOutRequest_VAR,
dimensioneMessaggiPDInResponse_VAR,dimensioneMessaggiPDOutResponse_VAR,
dimensioneMessaggiPA_VAR,dimensioneMessaggiPAInRequest_VAR,dimensioneMessaggiPAOutRequest_VAR,
dimensioneMessaggiPAInResponse_VAR,dimensioneMessaggiPAOutResponse_VAR};
// Lista Costruttori
MBeanConstructorInfo[] constructors = new MBeanConstructorInfo[]{defaultConstructor};
// Lista operazioni
MBeanOperationInfo[] operations = new MBeanOperationInfo[]{refresh_OP,reset_OP};
return new MBeanInfo(className,description,attributes,constructors,operations,null);
}
/* Costruttore */
public StatisticsJMXResource() throws Exception{
}
/* Metodi di management JMX */
public String refresh(){
StatisticsCollection stat = StatisticsCollection.getStatisticsCollection();
if(stat.getDataUltimoRefresh()>0) {
// Altrimenti non sono ancora passati messaggi.
Date rightBound = DateManager.getDate();
Date leftBound = new Date(stat.getDataUltimoRefresh());
SimpleDateFormat dateformat = DateUtils.getDefaultDateTimeFormatter("yyyy-MM-dd HH:mm:ss");
this.intervallo_statistico = "["+ dateformat.format(leftBound)
+ "] - ["+dateformat.format(rightBound)+"]";
}else{
this.intervallo_statistico = "";
}
this.numero_transazioni = stat.getStatNumeroTransazioni().numeroTransazioni + "/" +
stat.getStatNumeroTransazioni().numeroTransazioni_esitoOK + "/" +
stat.getStatNumeroTransazioni().numeroTransazioni_esitoErrore;
this.numero_transazioni_pd = stat.getStatNumeroTransazioniPD().numeroTransazioni + "/" +
stat.getStatNumeroTransazioniPD().numeroTransazioni_esitoOK + "/" +
stat.getStatNumeroTransazioniPD().numeroTransazioni_esitoErrore;
this.numero_transazioni_pa = stat.getStatNumeroTransazioniPA().numeroTransazioni + "/" +
stat.getStatNumeroTransazioniPA().numeroTransazioni_esitoOK + "/" +
stat.getStatNumeroTransazioniPA().numeroTransazioni_esitoErrore;
this.latenza_attraversamento = convertTime(stat.getStatLatenzaAttraversamento().latenzaMinimaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamento().latenzaMediaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamento().latenzaMassimaAttraversamento);
this.latenza_attraversamento_request = convertTime(stat.getStatLatenzaAttraversamentoRequest().latenzaMinimaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoRequest().latenzaMediaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoRequest().latenzaMassimaAttraversamento);
this.latenza_attraversamento_response = convertTime(stat.getStatLatenzaAttraversamentoResponse().latenzaMinimaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoResponse().latenzaMediaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoResponse().latenzaMassimaAttraversamento);
this.latenza_attraversamento_pd = convertTime(stat.getStatLatenzaAttraversamentoPD().latenzaMinimaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPD().latenzaMediaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPD().latenzaMassimaAttraversamento);
this.latenza_attraversamento_pd_request = convertTime(stat.getStatLatenzaAttraversamentoPDRequest().latenzaMinimaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPDRequest().latenzaMediaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPDRequest().latenzaMassimaAttraversamento);
this.latenza_attraversamento_pd_response = convertTime(stat.getStatLatenzaAttraversamentoPDResponse().latenzaMinimaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPDResponse().latenzaMediaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPDResponse().latenzaMassimaAttraversamento);
this.latenza_attraversamento_pa = convertTime(stat.getStatLatenzaAttraversamentoPA().latenzaMinimaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPA().latenzaMediaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPA().latenzaMassimaAttraversamento);
this.latenza_attraversamento_pa_request = convertTime(stat.getStatLatenzaAttraversamentoPARequest().latenzaMinimaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPARequest().latenzaMediaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPARequest().latenzaMassimaAttraversamento);
this.latenza_attraversamento_pa_response = convertTime(stat.getStatLatenzaAttraversamentoPAResponse().latenzaMinimaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPAResponse().latenzaMediaAttraversamento) + "/" +
convertTime(stat.getStatLatenzaAttraversamentoPAResponse().latenzaMassimaAttraversamento);
this.dimensione_messaggi = convertSize(stat.getStatDimensioneMessaggio().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggio().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggio().dimensioneMassimaMessaggio);
this.dimensione_messaggi_in_request = convertSize(stat.getStatDimensioneMessaggioInRequest().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioInRequest().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioInRequest().dimensioneMassimaMessaggio);
this.dimensione_messaggi_out_request = convertSize(stat.getStatDimensioneMessaggioOutRequest().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioOutRequest().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioOutRequest().dimensioneMassimaMessaggio);
this.dimensione_messaggi_in_response = convertSize(stat.getStatDimensioneMessaggioInResponse().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioInResponse().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioInResponse().dimensioneMassimaMessaggio);
this.dimensione_messaggi_out_response = convertSize(stat.getStatDimensioneMessaggioOutResponse().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioOutResponse().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioOutResponse().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pd = convertSize(stat.getStatDimensioneMessaggioPD().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPD().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPD().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pd_in_request = convertSize(stat.getStatDimensioneMessaggioPDInRequest().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPDInRequest().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPDInRequest().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pd_out_request = convertSize(stat.getStatDimensioneMessaggioPDOutRequest().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPDOutRequest().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPDOutRequest().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pd_in_response = convertSize(stat.getStatDimensioneMessaggioPDInResponse().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPDInResponse().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPDInResponse().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pd_out_response = convertSize(stat.getStatDimensioneMessaggioPDOutResponse().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPDOutResponse().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPDOutResponse().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pa = convertSize(stat.getStatDimensioneMessaggioPA().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPA().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPA().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pa_in_request = convertSize(stat.getStatDimensioneMessaggioPAInRequest().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPAInRequest().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPAInRequest().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pa_out_request = convertSize(stat.getStatDimensioneMessaggioPAOutRequest().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPAOutRequest().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPAOutRequest().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pa_in_response = convertSize(stat.getStatDimensioneMessaggioPAInResponse().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPAInResponse().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPAInResponse().dimensioneMassimaMessaggio);
this.dimensione_messaggi_pa_out_response = convertSize(stat.getStatDimensioneMessaggioPAOutResponse().dimensioneMinimaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPAOutResponse().dimensioneMediaMessaggio) + "/" +
convertSize(stat.getStatDimensioneMessaggioPAOutResponse().dimensioneMassimaMessaggio);
return "Refresh dati statistici effettuato";
}
private String convertTime(long time){
return Utilities.convertSystemTimeIntoStringMillisecondi(time, true);
}
private String convertSize(long size){
return Utilities.convertBytesToFormatString(size);
}
public String reset(){
StatisticsCollection.reset();
refresh();
return "Reset dati statistici effettuato";
}
}