How to use conditional statements in WildFly CLI
WildFly Command Line Interface is not a real programming language with complex structures. Nevertheless it’s possible to execute conditional logic in it and this short tutorial will show how to do it.
WildFly Command Line Interface contains the “if” keywords which can be used to build conditional logic.
here is the synopsys of the command:
if (condition_expression) of (command_line)
The if statement includes a command that is executed at the beginning of the if-else control flow. After the response of the command_line is received from the controller, it is evaluated using the condition_expression.
The condition_expression consists of a node path, equals sign (‘==’) and a specific value. If the target value designated with the node path equals to the specified value, then the condition is met and the if block (which is a batch) is executed.
If the condition wasn’t met then the else block, if present, would be executed.
For example, here is how you can execute a conditional deployment- e.g. to check if the application myproject.war is not already deployed:
if (outcome != success) of /deployment=myproject.war:read-resource
deploy myproject.war
end-if
Another example, slightly more complex, will check if the com.mysql module has been already installed. The conditional execution will either install it (if not installed already) or just print a message (saying that it’s already installed):
if (outcome != success) of /core-service=module-loading/:list-resource-loader-paths(module=com.mysql)
module add --name=com.mysql --resources=mysql-connector-java-5.1.31-bin.jar --dependencies=javax.api,javax.transaction.api
else
echo module com.mysql already installed
end-if
Finally, you can check also the return value of a particular node and execute conditional logic based on the value of it:
if (result.value==true) of /system-property=test:read-resource
/system-property=test:write-attribute(name=value,value=false)
else
/system-property=test:write-attribute(name=value,value=true)
Recommended Articles
Simplify WildFly Management with Graphical CLI Interface
Learn how to use WildFly Command Line Interface (CLI) in graphical mode for easy application server management. #WildFly #Java #CloudNative
Master WildFly CLI Variables with Examples and Hacks
Learn how to use variables in WildFly CLI, including setting multiple variables, replicating scripts, and making them persistent. #WildFlyCLI #Java #CloudNative
Master WildFly CLI Execution with JCliff: A Powerful Tool for Efficient Management
Learn how to leverage JCliff to streamline WildFly application server management using the Command-Line Interface (CLI). Discover how to simplify complex tasks, update existing objects, and more.
Using WildFly CLI Property Files for Variables - A Comprehensive Guide
Learn how to define and manage variables using a property file with WildFly CLI scripts. #WildFlyCLI #Java #CloudNative