La portabilit des applications Java est un atout majeur, permettant leur excution sur divers systmes d'exploitation tels que Windows, macOS, Linux, ainsi que sur des architectures matrielles spcifiques comme ARM64 ou les processeurs Intel.
Java SE JDK reprsente l'pine dorsale du dveloppement Java, offrant une panoplie d'outils essentiels pour les dveloppeurs. Fondamental pour l'excution des applications Java, Java JRE (Java Runtime Environment) est intgr dans le kit JDK, permettant aux utilisateurs de lancer des programmes Java sans se proccuper des dpendances.
Java Development Kit inclut galement des compilateurs Java qui traduisent le code source en bytecode, un langage intermdiaire compris par la machine virtuelle Java (JVM), garantissant ainsi la portabilit des applications sur diffrentes plateformes. Les Bibliothques Java Standard, ou API Java, constituent une ressource prcieuse en offrant une varit de fonctionnalits et de classes prtes l'emploi.
En outre, Java SE JDK comprend une gamme de composants et de classes utilitaires, tels que javac, java, jar, javadoc et jdb, qui facilitent la programmation Java en fournissant des fonctionnalits avances et des outils de dbogage.
Java Development Kit est accessible gratuitement aux dveloppeurs via le site officiel d'Oracle sur une varit de systmes d'exploitation, dont Windows, macOS et Linux. Vous pouvez le tlcharger en suivant nos liens directs.
Oracle propose diffrentes options de licence pour l'utilisation du kit JDK. Les dveloppeurs ou les petites entreprises peuvent utiliser la licence Oracle Technology Network (OTN). En revanche, les grandes entreprises peuvent opter pour une licence Oracle Java SE Subscription, offrant un support tendu et des mises jour de scurit pour les dploiements professionnels.
Le SDK X-Ray pour Java est un ensemble de bibliothques Java pour les applications Web qui fournissent des classes et des mthodes permettant de gnrer et d'envoyer des donnes de trace au daemon X-Ray. Les donnes de suivi incluent des informations sur les requtes HTTP entrantes traites par l'application et les appels que l'application envoie aux services en aval l'aide du AWS SDK, des clients HTTP ou d'un connecteur de base de donnes SQL. Vous pouvez galement crer des segments manuellement et ajouter des informations de dbogage dans les annotations et les mtadonnes.
Commencez par ajouter AWSXRayServletFilter en tant que filtre servlet pour suivre les demandes entrantes. Un filtre de servlet cre un segment. Lorsque le segment est ouvert, vous pouvez utiliser les mthodes du client du SDK pour ajouter des informations au segment et crer des sous-segments afin de suivre les appels en aval. Le kit de dveloppement logiciel (SDK) enregistre aussi automatiquement les exceptions que votre application renvoie quand le segment est ouvert.
Utilisez ensuite le SDK X-Ray pour Java pour instrumenter AWS SDK for Java vos clients en incluant le sous-module SDK Instrumentor dans votre configuration de compilation. Chaque fois que vous appelez une ressource Service AWS ou une ressource en aval avec un client instrument, le SDK enregistre les informations relatives l'appel dans un sous-segment. Services AWS et les ressources auxquelles vous accdez au sein des services apparaissent sous forme de nœuds en aval sur la carte de trace pour vous aider identifier les erreurs et les problmes de limitation sur les connexions individuelles.
Si vous ne souhaitez pas instrumenter tous les appels en aval Services AWS, vous pouvez omettre le sous-module Instrumentor et choisir les clients instrumenter. Instrumentez des clients individuels en ajoutant un TracingHandler un client de service AWS SDK.
D'autres sous-modules du SDK X-Ray pour Java fournissent une instrumentation pour les appels en aval aux API Web HTTP et aux bases de donnes SQL. Vous pouvez utiliser le SDK X-Ray pour les versions Java HTTPClient de HTTPClientBuilder et dans le sous-module HTTP Apache pour instrumenter les clients HTTP Apache. Pour instrumenter les requtes SQL, ajoutez l'intercepteur du kit de dveloppement logiciel (SDK) votre source de donnes.
Aprs avoir commenc utiliser le SDK, personnalisez son comportement en configurant l'enregistreur et le filtre de servlet. Vous pouvez ajouter des plug-ins pour enregistrer les donnes sur les ressources de calcul excutant votre application, personnaliser le comportement d'chantillonnage en dfinissant des rgles d'chantillonnage et dfinir le niveau de journal afin d'afficher plus ou moins d'informations du kit de dveloppement logiciel dans vos journaux d'application.
Enregistrez les informations supplmentaires sur les demandes et le travail que votre application effectue dans les annotations et les mtadonnes. Les annotations sont de simples paires cl-valeur, indexes en vue de leur utilisation avec les expressions de filtre, de telle sorte que vous pouvez explorer les suivis qui contiennent des donnes spcifiques. Les entres des mtadonnes sont moins restrictives et peuvent enregistrer des objets et tableaux entiers (tout ce qui peut tre srialis en JSON).
Les annotations et les mtadonnes sont du texte arbitraire que vous ajoutez aux segments avec le SDK X-Ray. Les annotations sont indexes pour tre utilises avec les expressions de filtre. Les mtadonnes ne sont pas indexes, mais peuvent tre consultes dans le segment brut l'aide de la console ou de l'API X-Ray. Toute personne qui vous accordez un accs en lecture X-Ray peut consulter ces donnes.
Lorsque vous avez un grand nombre de clients instruments dans votre code, un seul segment de demande peut contenir un grand nombre de sous-segments, un par appel effectu l'aide d'un client instrument. Vous pouvez organiser et grouper les sous-segments en enveloppant les appels clients dans des sous-segments personnaliss. Vous pouvez crer un sous-segment personnalis pour une fonction complte ou une quelconque section du code, puis enregistrer les mtadonnes et les annotations sur le sous-segment au lieu de tout crire sur le segment parent.
Si vous utilisez une bibliothque incluse dans le SDK X-Ray pour Java, vous devez utiliser la version incluse. Par exemple, si vous dpendez dj de Jackson lors de l'excution et incluez des fichiers JAR dans votre dploiement pour cette dpendance, vous devez supprimer ces fichiers JAR, car le fichier JAR du kit SDK inclut ses propres versions des bibliothques Jackson.
Si vous utilisez Elastic Beanstalk pour dployer votre application, vous pouvez utiliser Maven ou Gradle pour crer sur instance chaque fois que vous dployez, au lieu de crer et de tlcharger une archive volumineuse contenant toutes vos dpendances. Consultez l' exemple d'application pour obtenir un exemple utilisant Gradle.
Le SDK X-Ray pour Java inclut une classe AWSXRay nomme qui fournit l'enregistreur global. Ceci est un TracingHandler que vous pouvez utiliser pour outiller votre code. Vous pouvez configurer l'enregistreur mondial pour personnaliser le AWSXRayServletFilter qui cre des segments pour les appels HTTP entrants.
Le SDK utilise galement les paramtres du plugin pour dfinir le origin champ du segment. Cela indique le type de AWS ressource qui excute votre application. Lorsque vous utilisez plusieurs plug-ins, le SDK utilise l'ordre de rsolution suivant pour dterminer l'origine : ElasticBeanstalk > EKS > ECS > EC2.
Le SDK utilise les rgles d'chantillonnage que vous dfinissez dans la console X-Ray pour dterminer les demandes enregistrer. La rgle par dfaut suit la premire demande chaque seconde, et 5 % de toutes les demandes supplmentaires provenant de tous les services envoient des traces X-Ray. Crez des rgles supplmentaires dans la console X-Ray pour personnaliser la quantit de donnes enregistres pour chacune de vos applications.
Si le SDK ne parvient pas accder X-Ray pour obtenir des rgles d'chantillonnage, il revient une rgle locale par dfaut concernant la premire demande reue au dbut de chaque seconde, et 5 % de toutes les demandes supplmentaires par hte. Cela peut se produire si l'hte n'est pas autoris appeler des API d'chantillonnage ou ne peut pas se connecter au daemon X-Ray, qui agit comme un proxy TCP pour les appels d'API effectus par le SDK.
Vous pouvez galement configurer le SDK pour charger des rgles d'chantillonnage partir d'un document JSON. Le SDK peut utiliser les rgles locales comme solution de rechange dans les cas o l'chantillonnage X-Ray n'est pas disponible, ou utiliser exclusivement les rgles locales.
Cet exemple dfinit une rgle personnalise et une rgle par dfaut. La rgle personnalise applique un taux d'chantillonnage de 5 % sans nombre minimum de demandes suivre pour les chemins sous-jacents. /api/move/ La rgle par dfaut suit la premire demande chaque seconde et 10 % des demandes supplmentaires.
L'inconvnient de dfinir des rgles localement est que la cible fixe est applique par chaque instance de l'enregistreur indpendamment, au lieu d'tre gre par le service X-Ray. Au fur et mesure que vous dployez de nouveaux htes, le taux fixe est multipli, ce qui complique le contrle de la quantit de donnes enregistres.
Activ AWS Lambda, vous ne pouvez pas modifier le taux d'chantillonnage. Si votre fonction est appele par un service instrument, les appels ayant gnr des demandes chantillonnes par ce service seront enregistrs par Lambda. Si le suivi actif est activ et qu'aucun en-tte de suivi n'est prsent, Lambda prend la dcision d'chantillonnage.
Par dfaut, le SDK envoie des messages de ERROR niveau B dans les journaux de vos applications. Vous pouvez activer la journalisation au niveau du dbogage sur le SDK pour gnrer des journaux plus dtaills dans le fichier journal de votre application. Les niveaux de journalisation valides sont DEBUG INFOWARN,,ERROR, etFATAL. FATALlog level dsactive tous les messages de journal car le SDK ne se journalise pas un niveau fatal.
Incluez la mthode withSegmentListener lors de la construction du AWSXRayRecorder. Cela ajoutera une classe SegmentListener, qui injecte automatiquement de nouveaux ID de trace complets dans le MDC SLF4J.
d3342ee215