Utilizzo di H2 come provider di persistenza
H2 è un database SQL Java open source. Il provider di persistenza H2 supporta sia i provider di dati che di modelli.
Utilizzo di H2
1. Se si desidera creare in ThingWorx ulteriori istanze del provider di persistenza che effettuano la connessione all'archivio dati di H2, accedere ad ARCHIVIAZIONE DATI > Provider di persistenza, quindi fare clic su Nuovo.
2. Nella schermata Informazioni generali, immettere un nome per il provider di persistenza.
3. Nel campo Package provider di persistenza, utilizzare la selezione avanzata per scegliere il package del provider di persistenza H2.
4. Fare clic su Configurazione e configurare le impostazioni riportate di seguito per collegarsi a H2.
Nome
Valore di default
Note
Dimensione pool di connessioni iniziale
5
Numero di connessioni che un pool proverà ad acquisire all'avvio.
Incremento acquisizione connessione
5
Determina il numero di connessioni che vengono acquisite quando il pool è esaurito.
Dimensione max pool di connessioni
100
Numero massimo di connessioni gestite da un pool in un determinato momento.
Dimensione min pool di connessioni
5
Numero minimo di connessioni gestite da un pool in un determinato momento.
Numero max di istruzioni memorizzate nella cache
100
Dimensione della cache PreparedStatement globale
Numero di tentativi di acquisizione
3
Definisce quante volte il pool di connessioni prova ad acquisire una nuova connessione.
Ritardo tra tentativi di acquisizione
10000
Periodo di tempo in millisecondi in cui il pool di connessioni attende tra i tentativi di acquisizione.
Timeout tentativo di Check-Out
1000000
Numero di millisecondi in cui un client getConnection attende che venga eseguito il Check-In della connessione o che quest'ultima venga acquisita quando il pool è esaurito.
Tempo max di inattività
0
Secondi in cui una connessione può rimanere in pool anche se inutilizzata prima che venga rimossa. Il valore zero indica che le connessioni inattive non scadono mai.
Durata max connessione
0
Le connessioni precedenti a questo valore temporale, in secondi, vengono eliminate e cancellate dal pool. Il valore zero indica che non viene applicata alcuna durata massima.
Numero di thread di helper
8
Le operazioni JDBC lente sono eseguite in genere dai thread di helper che non detengono blocchi contesi. La distribuzione di queste operazioni su più thread può migliorare notevolmente le prestazioni consentendo l'esecuzione simultanea di più operazioni.
Timeout connessione non restituito
0
Se l'applicazione acquisisce una connessione ma non riesce a chiuderla nel periodo di tempo specificato, in secondi, il pool elimina la connessione. Il valore zero indica l'assenza di timeout, quindi è previsto che le applicazioni chiudano le proprie connessioni.
Tempo max di inattività per connessioni in eccesso
300
Numero di secondi durante i quali deve essere consentito alle connessioni in eccesso di minPoolSize di rimanere inattive nel pool prima che vengano eliminate. Il valore zero indica l'assenza di applicazione e le connessioni in eccesso non vengono eliminate.
Numero max di istruzioni memorizzate nella cache per connessione
50
È consigliabile non modificare questo valore poiché è ottimizzato sul numero di istruzioni utilizzate di frequente nel codice. È il numero delle istruzioni preparate che c3p0 memorizza nella cache per una connessione in pool singolo. Se le impostazioni di maxStatements e maxStatementsPerConnection sono entrambe zero, la memorizzazione nella cache delle istruzioni non è attivata. Se il valore di maxStatementsPerConnection è zero ma quello di maxStatements è diverso da zero, la memorizzazione nella cache delle istruzioni viene attivata e viene applicato un limite globale. In caso contrario, non viene impostato alcun limite di istruzioni memorizzate nella cache per una singola connessione.
Se impostato, il valore di maxStatementsPerConnection deve essere impostato sul numero di istruzioni preparate distinte utilizzate di frequente nell'applicazione, più due o tre elementi aggiuntivi in modo che le istruzioni rare non forzano la chiamata delle istruzioni comuni memorizzate nella cache.
Sebbene maxStatements sia il parametro JDBC standard per il controllo della memorizzazione delle istruzioni nella cache, gli utenti potrebbero trovare l'utilizzo dell'impostazione maxStatementsPerConnection più intuitivo.
Timeout blocco tabella
10000
Numero di secondi dopo il quale viene generata un'eccezione di timeout di blocco.
5. Se necessario, eseguire la migrazione delle entità e dei dati.
6. Monitorare e gestire l'implementazione di H2.
* 
Il file platform-settings.json è facoltativo per H2. È disponibile per gli amministratori al fine di regolare le impostazioni per l'ottimizzazione.