Instructions
1. Créez une classe d'usine et héritez ou implémentez l'interface de base.
En héritant de BaseGenericObjectPool ou en implémentant l'interface de base PooledObjectFactory, et en réécrivant les méthodes de création, destruction, vérification, activation et passivation des objets en fonction des besoins métier, dont la destruction consiste principalement en la fermeture et le vidage des connexions .
2. Créez un pool et héritez de GenericObjectPool.
En héritant de GenericObjectPool ou en implémentant l'interface de base ObjectPool, il est recommandé d'utiliser la première, qui nous fournit un mécanisme de détection d'expulsion d'objets inactifs (c'est-à-dire la destruction des objets qui n'ont pas été utilisés depuis longtemps temps dans la file d'attente inactive pour réduire l'utilisation de la mémoire), et fournit de nombreuses informations de base sur l'objet, telles que la dernière fois que l'objet a été utilisé, s'il faut vérifier l'objet avant de l'utiliser, etc.
3. Créez des configurations liées au pool
Augmentez le contrôle de configuration du pool de threads en héritant de GenericObjectPoolConfig ou de BaseObjectPoolConfig. méthode pour nous. Ajoutez simplement les attributs requis vous-même.
4. Créez une classe wrapper
C'est-à-dire l'objet qui doit exister dans le pool d'objets, ajoutez de nombreux attributs de base en plus de l'objet réel, afin de faciliter la compréhension de l'état en temps réel des objets dans le pool d'objets .
Exemple
private volatile int maxIdle = GenericObjectPoolConfig.DEFAULT_MAX_IDLE; private volatile int minIdle = GenericObjectPoolConfig.DEFAULT_MIN_IDLE; public static final int DEFAULT_MAX_IDLE = 8; public static final int DEFAULT_MIN_IDLE = 0;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!