Définition du modèle ThingWorx dans Composer > Stockage des données > Fournisseurs de persistance > Utilisation de H2 en tant que fournisseur de persistance
Utilisation de H2 en tant que fournisseur de persistance
H2 est une base de données Java SQL en code source libre. Le fournisseur de persistance H2 prend en charge les fournisseurs de données et de modèles.
Utilisation de H2
1. Si vous souhaitez créer dans ThingWorx des instances de fournisseur de persistance supplémentaires qui se connecteront au magasin de données H2, accédez à STOCKAGE DE DONNEES > Fournisseurs de persistance, puis cliquez sur Nouveau.
2. Dans l'écran Informations générales, saisissez un nom pour le fournisseur de persistance.
3. Dans le champ Package de fournisseur de persistance, utilisez le sélecteur magique pour sélectionner le package de fournisseur de persistance H2.
4. Cliquez sur Configuration, puis configurez les paramètres suivants pour la connexion à H2 :
Nom
Valeur par défaut
Remarques
Taille du pool de connexions initial
5
Nombre de connexions qu'un pool tentera d'acquérir au démarrage.
Incrément d'acquisition de la connexion
5
Détermine le nombre de connexions acquises lorsque le pool est épuisé.
Taille max. du pool de connexions
100
Nombre maximal de connexions qu'un pool maintient à tout moment.
Taille min. du pool de connexions
5
Nombre minimal de connexions qu'un pool maintient à tout moment.
Nbre d'instructions en cache
100
Taille du PreparedStatement global.
Nombre de tentatives d'acquisition
3
Définit le nombre de tentatives d'acquisition d'une nouvelle connexion par le pool de connexions.
Délai entre chaque tentative
10000
Délai en millisecondes attendu par le pool de connexions entre chaque tentative.
Délai de nouvelle tentative de récupération
1000000
Délai en millisecondes attendu par un client appelant getConnection pour récupérer ou obtenir une connexion lorsque le pool est épuisé.
Délai d'inactivité max
0
Nombre de secondes pendant lesquelles une connexion non utilisée peut rester dans le pool avant d'être supprimée. Une valeur de zéro signifie que les connexions inactives n'expireront jamais.
Durée max. de la connexion
0
Les connexions dont la durée d'existence est supérieure à cette valeur (en secondes) seront détruites et purgées du pool. Une valeur de zéro signifie qu'aucune durée maximale n'est appliquée.
Nombre de threads d'assistance
8
Les opérations JDBC lentes sont généralement effectuées par des threads d'assistance qui ne disposent pas de verrouillage pour la contention. Le fait de répartir ces opérations sur plusieurs threads peut considérablement améliorer les performances, plusieurs opérations étant effectuées en même temps.
Délai d'inactivité de la connexion non renvoyé
0
Si l'application acquiert une connexion mais ne parvient pas à la fermer dans le délai défini en secondes, le pool détruira la connexion. Une valeur de zéro signifie qu'aucun délai n'est défini et les applications sont tenues de fermer leurs propres connexions.
Délai d'inactivité max. pour les connexions en trop
300
Délai en secondes pendant lequel les connexions en trop de minPoolSize sont autorisées à rester inactives dans le pool avant d'être détruites. Une valeur de zéro signifie qu'aucun délai n'est défini et que les connexions en trop ne seront pas détruites.
Nbre d'instructions en cache par connexion
50
Veillez à ne pas modifier cette valeur car elle est adaptée au nombre d'instructions fréquemment utilisées dans le code. Il s'agit du nombre d'instructions préparées qui seront mises en cache par c3p0 pour une seule connexion du pool. Une valeur de zéro pour maxStatements et maxStatementsPerConnection signifie que la mise en cache des instructions ne sera pas activée. Si la valeur de maxStatementsPerConnection est égale à zéro et que maxStatements dispose d'une valeur non nulle, la mise en cache des instructions sera activée et une limite globale sera appliquée. Aucune limite ne sera par ailleurs définie pour le nombre d'instructions mises en cache pour une seule connexion.
Si une valeur non nulle est attribuée à maxStatementsPerConnection, elle doit correspondre au nombre d'instructions préparées uniques qui sont utilisées fréquemment dans votre application, nombre auquel vous ajoutez une valeur de deux ou trois afin que les instructions occasionnelles ne forcent pas l'appel des instructions fréquentes en cache.
Bien que maxStatements soit le paramètre standard JDBC pour contrôler la mise en cache des instructions, maxStatementsPerConnection peut être plus intuitif pour les utilisateurs.
Délai d'expiration du verrouillage de la table
10000
Délai en secondes avant qu'une exception de délai d'expiration de verrouillage ne soit levée.
5. Si nécessaire, faites migrer les entités et les données.
6. Surveillez et tenez à jour votre installation de H2.
* 
Le fichier platform-settings.json est facultatif pour H2. Les administrateurs peuvent l'utiliser pour ajuster les paramètres pour l'optimisation.