Connexion à une base de données externe
ThingWorx Platform prend en charge la connexion à une base de données externe via deux entités, DatabaseThing et SQLThing. Les deux entités se connectent à une base de données à l'aide de Java Database Connectivity (JDBC) et nécessitent l'ajout d'un pilote JDBC approprié à ThingWorx Platform. Le pilote JDBC peut être ajouté via une extension ou directement dans le déploiement Apache Tomcat.
DatabaseThing est pris en charge dans ThingWorx Platform depuis un certain temps et continue à assurer l'accès à la base de données pour des exigences moins complexes.
Récemment, SQLThing a été ajouté pour prendre en charge le partage de la configuration et de la connexion entre plusieurs entités. Lorsque vous utilisez un SQLThing, la configuration est gérée par un fournisseur de persistance créé avec GenericJdbcPersistenceProviderPackage, où les détails de connexion JDBC sont configurés. Le fournisseur de persistance créé peut ensuite être référencé par son nom dans la configuration d'une ou de plusieurs entités SQLThing. Le pool de connexions est ainsi partagé entre toutes les entités.
SQLThing peut participer aux transactions ThingWorx Platform si vous choisissez de cocher la case correspondante dans la configuration SQLThing. Cette prise en charge permet de restaurer une base de données externe à son état avant modification lorsque d'autres actions de la même transaction ThingWorx Platform échouent. Elle entraîne également l'exécution de plusieurs services SQL à partir du même service JavaScript afin qu'ils utilisent une transaction unique sur la base de données externe, ce qui peut être souhaité dans certaines circonstances. Notez que tous les autres services qui appellent un tel wrapper JavaScript sont affectés lors de la validation des modifications apportées à la base de données, car ils partagent la même transaction de plateforme.
Nom
Valeur par défaut
Remarques
URL JDBC
jdbc:_DB_://localhost/
URL JDBC de la base de données depuis laquelle les connexions doivent être acquises. Vous pouvez spécifier plusieurs schémas dans cette URL.
Username
dbuser
Nom d'utilisateur utilisé pour l'acquisition d'une connexion de base de données.
Mot de passe
n/a
Mot de passe utilisé pour l'acquisition d'une connexion de base de données.
Taille du pool de connexions initial
0
Nombre de threads créés au démarrage pour se connecter à la base de données
Incrément d'acquisition de la connexion
1
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
0
Nombre minimal de connexions qu'un pool maintient à tout moment.
Nbre d'instructions en cache
100
Taille du PreparedStatement global.
Classe de pilote
Classe de pilote JDBC de la base de données.
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é avant un nouveau test des connexions regroupées (sec)
60
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.
Taille d'extraction lors du chargement de toutes les entités
5000
Mode de connexion SSL
désactivé
Connexion SSL activée ou désactivée
Chemin du certificat racine SSL
Chemin d'accès au certificat SSL si le mode de connexion SSL est activé
Limite d'avertissement de staturation du pool de connexions
85
Est-ce que cela a été utile ?