vai al contenuto principale

System properties

Tutte le altre proprietà della cloudlet si trovano all’interno della tabella @sys@properties, ad esclusione della configurazione del dataSource della cloudlet.

Le proprietà presenti all’interno di questa tabella si dividono in due grandi famiglie:

  1. System: proprietà generali di sistema;
  2. Mail: proprietà relative alla configurazione del componente utilizzato dalla cloudlet per l’invio delle email.

Proprietà di tipo system #

WORKGROUP_PATH #

Indica il path a cui si trova il file system della cloudlet.

Required: no
Default: false


ENABLE_SSO #

Impostando questa proprietà a true si abilita il Single Sign On.

Required: no
Default: false


SSO_KEYCLOAK_DEPLOYMENT #

Il valore di questa proprietà indica la configurazione in json di Keycloak; viene applicata ed è required solo quando la proprietà ENABLE_SSO è true.

Required: no
Default: null


ENABLE_MAX_DATABASE_OBJECTS_CHECK #

Impostando questa proprietà a true si abilita il controllo relativo al numero massimo di oggetti presenti sul database della cloudlet. Il valore relativo al numero massimo di oggetti del database della cloudlet si trova all’interno della colonna @sys@workgroup_configuration.max_database_objects.

Required: no
Default: false


ENABLE_MAX_ONLINE_MEMBERS_CHECK #

Impostando questa proprietà a true si abilita il controllo relativo al numero massimo di utenti online sulla cloudlet. Il valore relativo al numero massimo di utenti online sulla cloudlet si trova all’interno della colonna @sys@workgroup_configuration.max_online_members.

Required: no
Default: false


ENABLE_MAX_FILE_STORAGE_SIZE_CHECK #

Impostando questa proprietà a true si abilita il controllo relativo alla dimensione massima dell’insieme dei file presenti nella cloudlet. Il valore relativo alla dimensione massima dell’insieme dei file della cloudlet si trova nella colonna @sys@workgroup_configuration.max_file_storage_size_mb.

Required: no
Default: false


ENABLE_MAX_MONTHLY_TRAFFIC_CHECK #

Impostando questa proprietà a true si abilita il controllo relativo al limite massimo del traffico di rete mensile generato dalla cloudlet. Il valore relativo al limite massimo del traffico di rete mensile della cloudlet si trova nella colonna @sys@workgroup_configuration.max_monthly_traffic_mb.

Required: no
Default: false


MAX_NUM_OF_REPORT_OBJECTS #

Indica il limite massimo di oggetti che possono essere presenti all’interno di un report della cloudlet.

Required: no
Default: 5000


NUMBER_OF_ATTEMPTS_TO_ACQUIRE_LOCKS #

Indica il numero di tentativi che il sistema di gestione della concorrenza effettua per acquisire i lock degli oggetti coinvolti nelle modifiche da persistere prima di effettuare una transazione sul database della cloudlet.

Required: no
Default: 20


MILLIS_BETWEEN_ATTEMPTS_TO_ACQUIRE_LOCKS #

Indica il tempo di attesa per riprovare ad acquisire i lock per persistere le modifiche sul database della cloudlet, a seguito di un fallimento nell’acquisizione.

Required: no
Default: 300


APPLICATION_LOCK_DURATION_MINUTES #

Indica il tempo oltre il quale un lock acquisito da un utente per la modifica o la cancellazione di un oggetto viene automaticamente rilasciato (a meno che l’utente che ha acquisito il lock non lo rilasci in modo esplicito).

Required: no
Default: 5


DATABASE_LOCK_DURATION_MINUTES #

Indica il tempo oltre il quale un lock acquisito da un utente per persistere su database le modifiche relative ad un oggetto viene automaticamente rilasciato.

Required: no
Default: 30


MAX_INACTIVE_SESSION_TIME_MILLIS #

Indica il tempo oltre il quale una sessione lato server su cui non vengono effettuate chiamate viene rimossa.

Required: no
Default: 1 hour


DEPLOYMENT_MODE #

Indica la modalità di deployment della cloudlet. I valori possibili sono:

  1. SINGLE_NODE
  2. MULTIPLE_NODES (sperimentale)

In base al valore espresso, la cloudlet utilizzerà dei componenti in memory o su database per la gestione della concorrenza e per la generazione di codici univoci.

Required: no
Default: SINGLE_NODE


OBJECT_LOCK_REGISTRY_TYPE #

Indica il tipo del registro che viene utilizzato per acquisire i lock all’interno della cloudlet.

In base al valore espresso, la cloudlet utilizzerà un componente in MEMORY per gestire lo stato dei lock della cloudlet, oppure un componente che persiste lo stato sul DATABASE. Quest’ultima implementazione sarà obbligatoria per supportare correttamente il DEPLOYMENT_MODE di tipo MULTIPLE_NODES.

Required: no
Default: MEMORY


ENABLE_STOP_WATCH #

Impostando questa proprietà a true si attivano gli stopwatch inseriti all’interno del framework della cloudlet. Gli stopwatch sono degli oggetti che permettono di tenere traccia del tempo di esecuzione di alcuni servizi critici della cloudlet. Per ogni stopwatch è definito un tempo massimo di esecuzione, oltrepassato il quale viene loggato all’interno della cloudlet il tempo di esecuzione effettivo di quel servizio con un apposito messaggio.

Required: no
Default: false


STOP_WATCH_LOG_MAX_MILLIS #

Indica il tempo massimo di esecuzione di alcuni stopwatch inseriti all’interno del framework della cloudlet, oltrepassato il quale lo stopwatch stesso scriverà nel log il proprio tempo di esecuzione effettivo con un apposito messaggio.

Required: no
Default: 500


HANDLER_LOG_MAX_MILLIS #

Indica il tempo massimo di esecuzione degli stopwatch inseriti all’interno del framework per l’invocazione degli handler della cloudlet; per questi servizi è stato definito un parametro specifico in modo da poter distinguere il log dei tempi di esecuzione dei servizi interni al framework da quello dei servizi inseriti tramite plugin.

Required: no
Default: 500


ENABLE_SLOW_QUERY_LOG #

Impostando questa proprietà a true si abilita il log delle slow query. Le query il cui tempo di esecuzione supera il valore indicato nella proprietà SLOW_QUERY_LOG_MAX_MILLIS vengono inserite nel log, insieme allo stacktrace che ne ha portato l’esecuzione.

Required: no
Default: false


SLOW_QUERY_LOG_MAX_MILLIS #

Indica il tempo massimo di esecuzione degli stopwatch inseriti all’interno del framework per l’esecuzione delle query generate. Questo parametro è rilevante solo quando la proprietà ENABLE_SLOW_QUERY_LOG è true.

Required: no
Default: 500


SQL_DATETIME_TIMEZONE #

Indica la timezone con cui vengono salvati i campi di tipo datetime nel database.
In MariaDB il tipo di dato ‘datetime’ non è time zoned, e sul database viene salvata una rappresentazione stringificata del dato. Questa proprietà indica in qual è la timezone di riferimento con cui interpretare il dato presente sul database.

Required: no
Default: GMT


SQL_IN_PARAM_SIZE_THRESHOLD #

Indica la soglia relativa al numero di elementi in base alla quale una clausola di IN o di NOT IN viene applicata o meno su DB. Per un numero di elementi inferiore o uguale alla soglia, la clausola viene applicata direttamente nella query sul DBMS, per un numero maggiore viene applicata in memoria.
Questo parametro viene preso in considerazione unicamente nelle query generate ed eseguite dall’algoritmo di ottimizzazione attualmente presente nel framework.

Required: no
Default: 20000


USE_RUNTIME_QUERY_GENERATOR #

Contiene una stringa comma separated degli identificatori di classe e di ruoli per cui è abilitato l’utilizzo del runtime query generator per l’esecuzione delle query di lettura.

L’identificativo di una classe è dato da $className
L’identificativo di un ruolo è dato da $parentClassName_$roleName

Required: no
Default: “”


ATTRIBUTE_LAZY_LOADING #

Quando impostata a true, consente di abilitare il caricamento degli attributi in modalità lazy utilizzando il RQG.

Required: no
Default: false


ENABLE_PERFORMANCE_QUERY_LOG #

Consente di abilitare funzionalità di misurazione delle prestazioni della cloudlet.

Required: no
Default: false

Proprietà di tipo mail #

MAIL_SYSTEM_CLASS #

Serve ad indicare il componente che la cloudlet deve utilizzare per l’invio delle email. Attualmente viene utilizzata per permettere di iniettare un componente mock dell’implementazione reale, spegnendo di fatto l’invio effettivo delle email (utile nelle cloudlet di validazione).

Questa proprietà può avere due valori possibili:

  1. com.fhoster.utils.MailSystem
  2. com.fhoster.utils.DummyMailSystem

Required: no


Sono state aggiunte proprietà custom di Livebase per gestire l’autenticazione SMTP:

mail.smtp.auth #
(Boolean) Definisce se deve essere utilizzata l’autenticazione o meno.
mail.smtp.auth.username #
(String) Lo username di autenticazione.
mail.smtp.auth.password #
(String) La password dell’SMTP.

Tutte le altre proprietà definibili fanno riferimento a quelle standard utilizzate in java per configurare i componenti per l’invio delle email:
https://javaee.github.io/javamail/docs/api/javax/mail/package-summary.html
https://javaee.github.io/javamail/docs/api/com/sun/mail/smtp/package-summary.html

Esempio di configurazione SMTP Google #

PropertyValue
mail.smtp.hostsmtp.gmail.com
mail.smtp.port587
mail.smtp.authtrue
mail.smtp.starttls.enabletrue
mail.smtp.auth.usernameYOUR_SMPT_USERNAME
mail.smtp.auth.passwordYOUR_SMPT_PASSWORD