Package overit.geocall.io.tracer
Class AsyncIOLogTracer
java.lang.Object
overit.geocall.io.tracer.AsyncIOLogTracer
- All Implemented Interfaces:
IOLogTracer,Identified
Tracer che permette di rendere asincrono l'effettivo salvataggio del log.
Nello specifico viene sfruttata un istanza della classe
IOLogProcessor la quale si preoccuperà di spostare la richiesta di
salvataggio su un thread separato evitando quindi di bloccare il thread
corrente, consentendogli di procedere con le successive elaborazioni.-
Field Summary
FieldsFields inherited from interface overit.geocall.io.tracer.IOLogTracer
STATUS_COMPLETE, STATUS_ERROR, STATUS_REQUEST -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddFilter(IOLogFilter filter) Aggiunge un filtro che verrà eseguito prima del salvataggio dei log di input/output/error.booleanreturnstrueif the tracer has all the necessary information and can proceed with saving the log.voidflush()method used to clean any variables once the log has been savedReturns theIdentityassociated to the componentgetReference(String serviceName) Get the reference that can be used later to retrieve the log.voidMetodo di utilità che semplifica le operazioni di setup e scrittura dell'errore sul file di log.voidMetodo di utilità che semplifica le operazioni di setup e scrittura dell'errore sul file di log.voidMetodo di utilità che semplifica le operazioni di setup e scrittura dell'input sul file di log.voidMetodo di utilità che semplifica le operazioni di setup e scrittura dell'input sul file di log.voidMetodo di utilità che semplifica le operazioni di setup e scrittura dell'input sul file di log.voidMetodo di utilità che semplifica le operazioni di setup e scrittura dell'output sul file di log.voidMetodo di utilità che semplifica le operazioni di setup e scrittura dell'output sul file di log.voidMetodo di utilità che semplifica le operazioni di setup e scrittura dell'output sul file di log.voidremoveFilter(IOLogFilter filter) Rimuove un determinato filtro, evitando che questo contribuisca alla modifica del messaggio prima del loggingvoidsave()Memorizza le informazioni inviate/ricevute in modo persistente.voidsetDuration(long l) Utilizzato per impostare la durata complessiva della richiesta.voidsetEnd(long end) Utilizzato per impostare l'istante in cui la richiesta è stata elaborata.voidsetIdentity(Identity identity) Sets theIdentityto the componentvoidsetInputAttachments(int count) voidImposta il metodo d chiamata di un servizio.voidsetOutputAttachments(int count) voidsetRequestHeaders(String headers) Imposta gli headers della richiesta.voidsetResponseHeaders(String headers) Imposta gli headers della risposta.voidsetService(String name, String url) Imposta il nome e l'url del servizio, inizializzando il nome del log nel caso sia abilitata la funzionalità di logging.voidsetStart(long start) Utilizzato per impostare l'istante in cui l'elaborazione della richiesta ha inizio.voidsetStatus(int s) Viene utilizzato per impostare lo stato del tracer; solitamente questo metodo viene invocato più volte in modo da mantenere allineato lo stato con l'avanzamento della richiesta.voidsetStatusCode(int code) Imposta il codice di risposta relativo ad una chiamata ad un WSMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface overit.geocall.io.tracer.IOLogTracer
onResult
-
Field Details
-
_tracer
-
-
Constructor Details
-
AsyncIOLogTracer
- Parameters:
tracer- istanza delIOLogTracerda wrappare.- Throws:
NullPointerException- nel caso venga passato un tracer nullo.
-
-
Method Details
-
onInput
Description copied from interface:IOLogTracerMetodo di utilità che semplifica le operazioni di setup e scrittura dell'input sul file di log.- Specified by:
onInputin interfaceIOLogTracer- Parameters:
serviceName- nome del servizio, utilizzato per il setup delle directoryserviceUrl- url del servizio inserito all'interno del masterfileinput- vengono gestite istanze di oggetti appartenenti alle seguenti classi:XMLTree,SOAPMessage,JsonElemente,invalid reference
byte[]Throwable. Per tutte le altre classi l'input verrà serializzato attraverso il serializzatoreJackMapper.
-
onInput
Description copied from interface:IOLogTracerMetodo di utilità che semplifica le operazioni di setup e scrittura dell'input sul file di log.- Specified by:
onInputin interfaceIOLogTracer- Parameters:
serviceName- nome del servizio, utilizzato per il setup delle directoryserviceUrl- url del servizio inserito all'interno del masterfileinput- vengono gestite istanze di oggetti appartenenti alle seguenti classi:XMLTree,SOAPMessage,JsonElemente,invalid reference
byte[]Throwable. Per tutte le altre classi l'input verrà serializzato attraverso il serializzatoreJackMapper.registrationTime- istante di registrazione del log.
-
onInput
public void onInput(String serviceName, String serviceUrl, String headers, Object input, Date registrationTime) Description copied from interface:IOLogTracerMetodo di utilità che semplifica le operazioni di setup e scrittura dell'input sul file di log.- Specified by:
onInputin interfaceIOLogTracer- Parameters:
serviceName- nome del servizio, utilizzato per il setup delle directoryserviceUrl- url del servizio inserito all'interno del masterfileheaders- headers della risposta della richiesta.input- vengono gestite istanze di oggetti appartenenti alle seguenti classi:XMLTree,SOAPMessage,JsonElemente,invalid reference
byte[]Throwable. Per tutte le altre classi l'input verrà serializzato attraverso il serializzatoreJackMapper.registrationTime- istante di registrazione del log.
-
onOutput
Description copied from interface:IOLogTracerMetodo di utilità che semplifica le operazioni di setup e scrittura dell'output sul file di log.- Specified by:
onOutputin interfaceIOLogTracer- Parameters:
output- vengono gestite istanze di oggetti appartenenti alle seguenti classi:XMLTree,SOAPMessage,JsonElemente,invalid reference
byte[]Throwable. Per tutte le altre classi l'output verrà serializzato attraverso il serializzatoreJackMapper.
-
onOutput
Description copied from interface:IOLogTracerMetodo di utilità che semplifica le operazioni di setup e scrittura dell'output sul file di log.- Specified by:
onOutputin interfaceIOLogTracer- Parameters:
output- vengono gestite istanze di oggetti appartenenti alle seguenti classi:XMLTree,SOAPMessage,JsonElemente,invalid reference
byte[]Throwable. Per tutte le altre classi l'output verrà serializzato attraverso il serializzatoreJackMapper.registrationTime- istante di registrazione del log.
-
onOutput
Description copied from interface:IOLogTracerMetodo di utilità che semplifica le operazioni di setup e scrittura dell'output sul file di log.- Specified by:
onOutputin interfaceIOLogTracer- Parameters:
output- vengono gestite istanze di oggetti appartenenti alle seguenti classi:XMLTree,SOAPMessage,JsonElemente,invalid reference
byte[]Throwable. Per tutte le altre classi l'output verrà serializzato attraverso il serializzatoreJackMapper.registrationTime- istante di registrazione del log.headers- headers della risposta.
-
onError
Description copied from interface:IOLogTracerMetodo di utilità che semplifica le operazioni di setup e scrittura dell'errore sul file di log.- Specified by:
onErrorin interfaceIOLogTracer- Parameters:
error- vengono gestite istanze di oggetti appartenenti alle seguenti classi:XMLTree,SOAPMessage,JsonElemente,invalid reference
byte[]Throwable. Per tutte le altre classi l'errore verrà serializzato attraverso il serializzatoreJackMapper.
-
onError
Description copied from interface:IOLogTracerMetodo di utilità che semplifica le operazioni di setup e scrittura dell'errore sul file di log.- Specified by:
onErrorin interfaceIOLogTracer- Parameters:
error- vengono gestite istanze di oggetti appartenenti alle seguenti classi:XMLTree,SOAPMessage,JsonElemente,invalid reference
byte[]Throwable. Per tutte le altre classi l'errore verrà serializzato attraverso il serializzatoreJackMapper.registrationTime- istante di registrazione del log.
-
save
public void save()Description copied from interface:IOLogTracerMemorizza le informazioni inviate/ricevute in modo persistente.- Specified by:
savein interfaceIOLogTracer
-
getOutputStreamInput
- Specified by:
getOutputStreamInputin interfaceIOLogTracer- Returns:
- lo stream su cui scrivere il contenuto della richiesta.
-
getOutputStreamOutput
- Specified by:
getOutputStreamOutputin interfaceIOLogTracer- Returns:
- lo stream su cui scrivere il contenuto della risposta nel caso la richiesta sia stata processata con successo.
-
getOutputStreamError
- Specified by:
getOutputStreamErrorin interfaceIOLogTracer- Returns:
- lo stream su cui scrivere il contenuto della risposta nel caso di errori.
-
setStart
public void setStart(long start) Description copied from interface:IOLogTracerUtilizzato per impostare l'istante in cui l'elaborazione della richiesta ha inizio. Questo metodo dev'essere invocato IMMEDIATAMENTE PRIMA del invio della richiesta al WS.- Specified by:
setStartin interfaceIOLogTracer- Parameters:
start- timestamp di inizio chiamata
-
setEnd
public void setEnd(long end) Description copied from interface:IOLogTracerUtilizzato per impostare l'istante in cui la richiesta è stata elaborata. Questo metodo dev'essere invocato SOLO una volta che la richiesta è stata ricevuta ed elaborata.- Specified by:
setEndin interfaceIOLogTracer- Parameters:
end- timestamp di fine chiamata
-
setDuration
public void setDuration(long l) Description copied from interface:IOLogTracerUtilizzato per impostare la durata complessiva della richiesta. Questo metodo dev'essere invocato SOLO una volta che la richiesta è stata ricevuta ed elaborata.- Specified by:
setDurationin interfaceIOLogTracer- Parameters:
l- millisecondi trascorsi dal momento di invio all'effettiva ricezione.
-
setService
Description copied from interface:IOLogTracerImposta il nome e l'url del servizio, inizializzando il nome del log nel caso sia abilitata la funzionalità di logging. Questo metodo dev'essere invocato prima di iniziare la scrittura del log.- Specified by:
setServicein interfaceIOLogTracer- Parameters:
name- nome del serviziourl- url del servizio
-
setRequestHeaders
Description copied from interface:IOLogTracerImposta gli headers della richiesta.- Specified by:
setRequestHeadersin interfaceIOLogTracer- Parameters:
headers- headers della richiesta.
-
setResponseHeaders
Description copied from interface:IOLogTracerImposta gli headers della risposta.- Specified by:
setResponseHeadersin interfaceIOLogTracer- Parameters:
headers- headers della risposta.
-
setStatus
public void setStatus(int s) Description copied from interface:IOLogTracerViene utilizzato per impostare lo stato del tracer; solitamente questo metodo viene invocato più volte in modo da mantenere allineato lo stato con l'avanzamento della richiesta.- Specified by:
setStatusin interfaceIOLogTracer- Parameters:
s- si possono specificare i seguenti valori:IOLogTracer.STATUS_REQUESTse la richiesta è stata inoltrataIOLogTracer.STATUS_COMPLETEse la chiamata è terminata con successoIOLogTracer.STATUS_ERRORse la chiamata è terminata con errore
-
setInputAttachments
public void setInputAttachments(int count) - Specified by:
setInputAttachmentsin interfaceIOLogTracer- Parameters:
count- il numero di allegati inviati
-
setOutputAttachments
public void setOutputAttachments(int count) - Specified by:
setOutputAttachmentsin interfaceIOLogTracer- Parameters:
count- il numero di allegati ricevuti
-
addFilter
Description copied from interface:IOLogTracerAggiunge un filtro che verrà eseguito prima del salvataggio dei log di input/output/error.- Specified by:
addFilterin interfaceIOLogTracer- Parameters:
filter- Il filtro da aggiungere
-
removeFilter
Description copied from interface:IOLogTracerRimuove un determinato filtro, evitando che questo contribuisca alla modifica del messaggio prima del logging- Specified by:
removeFilterin interfaceIOLogTracer- Parameters:
filter- Il filtro da rimuovere
-
getReference
Description copied from interface:IOLogTracerGet the reference that can be used later to retrieve the log. If the DB log has been activated, this method will return a Long number indicating the ID of the database record. If the FS log has been activated, this method will return an array of string whose contains 4 elements:
- path of the master document
- path of the Input raw document
- path of the Outputput raw document (in case of successfully response)
- path of the Error raw document (in case of unsuccessfully response)
- Specified by:
getReferencein interfaceIOLogTracer- Parameters:
serviceName- string containing the name of the service. If you have an instance ofMessageyou can extract the service's name in this way:message.getExchange().get(Message.WSDL_INTERFACE).toString()- Returns:
- The reference that can be used later to retrieve the log
-
getIdentity
Description copied from interface:IdentifiedReturns theIdentityassociated to the component- Specified by:
getIdentityin interfaceIdentified- Returns:
- The Identity of the user currently logged in the application
-
setIdentity
Description copied from interface:IdentifiedSets theIdentityto the component- Specified by:
setIdentityin interfaceIdentified- Parameters:
identity- The Identity that must be associated to the component
-
completed
public boolean completed()Description copied from interface:IOLogTracerreturnstrueif the tracer has all the necessary information and can proceed with saving the log.falseotherwise- Specified by:
completedin interfaceIOLogTracer- Returns:
trueif the tracer has all the necessary information and can proceed with saving the log.falseotherwise
-
flush
public void flush()Description copied from interface:IOLogTracermethod used to clean any variables once the log has been saved- Specified by:
flushin interfaceIOLogTracer
-
setMethod
Description copied from interface:IOLogTracerImposta il metodo d chiamata di un servizio.- Specified by:
setMethodin interfaceIOLogTracer- Parameters:
method- verbo con cui viene chiamato il servizio
-
setStatusCode
public void setStatusCode(int code) Description copied from interface:IOLogTracerImposta il codice di risposta relativo ad una chiamata ad un WS- Specified by:
setStatusCodein interfaceIOLogTracer- Parameters:
code- codice di risposta
-