AXOPEN

JBOSS AS 7 : Correspondance CLI et webUI URL


 

La puissante Command Line Interface

Dans un article précédent nous avons vu que nous pouvions exploiter les informations de la CLI Jboss 7 directement en JSON via la management console.

Vous trouverez très facilement sur le web les lignes de commandes pour le CLI et pour interroger les subsystems que vous souhaitez.

Pour la syntaxe, on peut d'ailleurs s'aider de cette page très bien faite pour nous guider :

https://docs.jboss.org/author/display/AS71/CLI+Recipes

Conversion en requête Curl

Pour exploiter les appels à l'interface de management en mode "automatisé" avec Curl, il faut pouvoir connaître les datas à envoyer dans la requête Curl. Malheureusement, le format de ces requêtes ne correpond pas du tout au format de la CLI.

Voici une petite explication sur comment passer de CLI à une requête http.

Prenons comme exemple la requête de récupération des statistics du datasource ExampleDS:

/subsystem=datasources/data-source=ExampleDS/statistics=pool:read-resource(include-runtime=true)

cette requête correspond à :

curl --digest -L -D - http://monutilisateur:monpassword@localhost:29990/management/ -d '{"operation":"read-resource","address":[{"subsystem":"datasources"},{"data-source":"ExampleDS"},{"statistics":"pool"}], "include-runtime":"true"}'  -HContent-Type:application/json

Il est nécessaire de se pencher sur la partie "data" de la requête :

'{"operation":"read-resource","address":[{« subsystem »: »datasources »},{« data-source »: »ExampleDS »},{« statistics »: »pool »}], "include-runtime":"true"}'

On retrouve:

  • L'opération effectuée: 

'{"operation":"read-resource","address":[{« subsystem »: »datasources »},{« data-source »: »ExampleDS »},{« statistics »: »pool »}], "include-runtime":"true"}'

/subsystem=datasources/data-source=ExampleDS/statistics=pool:read-resource(include-runtime=true)

 

  • L'adresse de la ressource interrogée (On transforme la syntaxe en prenant chaque couple X=Y par {"X":"Y"}, dans un tableau nommé address: 

'{"operation":"read-resource","address":[{« subsystem »: »datasources »},{« data-source »: »ExampleDS »},{« statistics »: »pool »}], "include-runtime":"true"}'

/subsystem=datasources/data-source=ExampleDS/statistics=pool:read-resource(include-runtime=true)

  • Le paramètre de l'opération à effectuer (ici, simplement un include runtime, mais pour une modification, on mettre la valeur modifiée) 

'{"operation":"read-resource","address":[{« subsystem »: »datasources »},{« data-source »: »ExampleDS »},{« statistics »: »pool »}], "include-runtime":"true"}'

/subsystem=datasources/data-source=ExampleDS/statistics=pool:read-resource(include-runtime=true)

 

La requête est maintenant convertie, vous pouvez l'utiliser pour récupérer vos information JBoss 7