Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisez les instances du client de service Singleton avec le AWS SDK for Java 2.x
Les clients de service qu'il contient AWS SDK for Java 2.x sont compatibles avec les threads. Vous pouvez créer une instance de chaque client de service et la réutiliser dans l'ensemble de votre application. Cette approche améliore les performances et gère les ressources de manière plus efficace.
Avantages des clients du service Singleton
- Regroupement de connexions
-
Les clients de service gèrent des pools de connexions HTTP internes. La création et la destruction de ces piscines sont coûteuses. Lorsque vous réutilisez des clients, ces pools sont partagés efficacement entre les demandes.
- Réduction des frais d'initialisation
-
La création d'un client implique le chargement de la configuration, l'établissement des informations d'identification et l'initialisation des composants internes. Les instances Singleton éliminent cette surcharge.
- Meilleure utilisation des ressources
-
Les clients Singleton évitent l'épuisement des ressources qui peut survenir lorsque vous créez de nombreuses instances de client.
Création et utilisation de clients de service singleton
L'exemple suivant montre comment créer et utiliser des clients de service singleton :
// Create one instance and use it throughout the application. public class ServiceClientSource { private static final S3Client s3Client = S3Client.create(); public static S3Client getS3Client() { return s3Client; } }
Ne créez pas de nouveaux clients pour chaque opération :
// This approach creates unnecessary overhead. public void badExample() { try (S3Client s3 = S3Client.create()) { s3.listBuckets(); } }
Considérations Importantes
-
Les clients du service sont compatibles avec les threads. Vous pouvez les partager en toute sécurité sur plusieurs fils de discussion.
-
Fermez les clients uniquement lorsque votre application s'arrête ou si vous n'avez plus besoin du client. Utilisation
client.close()
ou try-with-resources au niveau de l'application. -
Si vous avez besoin de différentes configurations, telles que des régions ou des informations d'identification, créez des instances singleton distinctes pour chaque configuration.
Si vous utilisez des frameworks d'injection de dépendances tels que Spring, configurez les clients de service en tant que beans singleton. Cela garantit une bonne gestion du cycle de vie.