Dans les précédentes versions de JBoss, il était très facile de récupérer des informations de monitoring via les MBean.
Ce biais de récupération disparait dans JBoss 7 au profite du CLI et de la console web de management.
Il est possible de récupérer les mêmes informations qu’auparavant simplement en se connectant par ces interfaces.
Nous allons voir comment récupérer par exemple une information qui me parait essentielle : L’état d’un datasource.
Nous allons effectuer cette récupération grâce à l’interface WEB, et en JSON! Ce flux pourra ensuite être exploité par des outils de monitoring standards.
Par défaut, et heureusement, l’interface de management est désormais sécurisée sur JBoss. Elle est exposée seulement sur l’interface locale (configuration par défaut dans le fichier standalone.xml) et aucun utilisateur de management n’est crée.
Première chose à faire, créer l’utilisateur via l’executable add-user.sh de jboss:
<span >#:/opt/jboss-as-7.1.1.Final/bin# ./add-user.sh</span></span>
<span >What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a</span></span>
<span >Enter the details of the new user to add.
Realm (ManagementRealm) :
Username : monutilisateur
Password :
Re-enter Password :
About to add user 'monutilisateur' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'monutilisateur' to file '/opt/jboss-as-7.1.1.Final/standalone/configuration/mgmt-users.properties'
Added user 'monutilisateur' to file '/opt/jboss-as-7.1.1.Final/domain/configuration/mgmt-users.properties'</span></span>
Rien de très compliquée, toutes les options sont à laisser par défaut, il suffit simplement de préciser le nom de l’utilisateur et son mot de passe.
Précisez un mot de passe, ainsi qu’un utilisateur assez complexe, mélangeant minuscules, majuscules et chiffres. N’utilisez pas de caractères autres que des alphanumériques, qui risquent de poser problème par la suite dans l’appel à la console de management.
Une fois cet utilisteur crée, vous pouvez interroger votre console d’administration en local, avec l’outil curl. Si vous ne possédez pas curl, il est disponible dans tous les gestionnaires de paquets Linux.
Voici la requête à effectuer pour interroger par exemple l’état du datasource ExampleDS:
<span }' -HContent-Type:application/json</span>
Cette requête retourne le résultat suivant :
HTTP/1.1 401 Unauthorized
Content-length: 0
Www-authenticate: Digest realm="ManagementRealm",nonce="7ac8992b5033fd7995a9791da021514b"
Date: Fri, 24 May 2013 14:07:09 GMT
HTTP/1.1 200 OK
Transfer-encoding: chunked
Content-type: application/json
Date: Fri, 24 May 2013 14:07:09 GMT
{"outcome" : "success", "result" : {"ActiveCount" : "1", "AvailableCount" : "20", "AverageBlockingTime" : "0", "AverageCreationTime" : "1488", "CreatedCount" : "1", "DestroyedCount" : "0", "MaxCreationTime" : "1488", "MaxUsedCount" : "1", "MaxWaitTime" : "0", "TimedOut" : "0", "TotalBlockingTime" : "0", "TotalCreationTime" : "1488"}}
On retrouve donc toutes les informations concernant le DataSource en question. Ce flux pourra donc être exploité par la suite avec n’importe quel outil monitoring capable de lire du JSON.
La console de management permet de faire tout et n’importe quoi avec le serveur d’application. N’ayez pas peur de mettre un mot de passe compliqué, si jamais vous devez ouvrir la console vers une machine autre que la machine locale (via le fichier standalone.xml). Pensez à configurer votre firewall en conséquence pour que le port 9990 ne soit ouvert que vers la machine cible.
Les Directives sont un pilier du Framework Angular. Extrêmement puissantes et versatiles, elles sont parfois mises de côté par manque de compréhension de leur potentiel. En termes simples, une Directive est une classe annotée avec @Directive, une annotation qui attend principalement une propriété clé : le "selector". Dans cet article, nous allons nous concentrer sur la compréhension du "selector", la façon dont il permet à une directive de cibler des balises HTML spécifiques, et comment maîtriser les différentes formes de sélection (par nom, attributs, classes, etc.) pour une manipulation efficace des éléments dans une application Angular. C’est parti !
Annuler un mail envoyé, c’est désormais possible ! Il y a quelques jours, Gmail a fait de ce rêve une réalité ! Si vous faites partie de ceux qui relisent leurs mails après leur envoi ou qui se rendent compte qu’une faute d’orthographe s’est malencontreus
Quelles sont les avantages en termes de performance et de disponibilité offerts par les systèmes distribués ? Exemples de solutions et difficultés de mise en œuvre.