1. Introduction
In this tutorial, we’ll have a look at how to start and stop a JBoss application server.
First, we’ll explore the operating modes of this server. Further, we’ll discuss how to start and stop the server in each of these operating modes.
JBoss is an open source application server developed by RedHat and is now known as WildFly. We can download it from the official WildFly website.
We can operate this server in two different modes. However, the key difference between these modes lies in the management of the server.
2. JBoss Standalone Server
In this mode, each standalone server instance is an independent process. Consequently, we have to manage each of these servers individually.
In other words, we can launch multiple instances of the standalone servers in case multi-server configuration is desired.
However, we’ll need to deploy the application on each server individually.
2.1. Preferences and Configurations
The standalone startup script i.e. standalone.sh for OSX/Linux and standalone.bat for Windows, utilizes:
- standalone.conf/standalone.conf.bat: defines the JVM preferences for the standalone server instance
- standalone.xml: defines the default configurations for the server; we can find it under $JBOSS_HOME/standalone/configuration.
JBoss also provides some alternate configurations in the same directory:
- standalone-ee8.xml: same as standalone.xml, but with EE8 technologies enabled
- standalone-ha.xml: Java Enterprise Edition 7 web profile certified configuration with high availability
- standalone-full.xml: Java Enterprise Edition 7 full profile certified configuration including all the required EE 7 technologies
- standalone-full-ha.xml: Java Enterprise Edition 7 full profile certified configuration with high availability
2.2. Starting the Server
Let’s open a terminal in OSX/Linux or a command prompt in Windows and navigate to the $JBOSS_HOME/bin directory.
Further, we’ll start the standalone server with default configuration by running:
standalone.sh
in OSX/Linux or in Windows:
standalone.bat
Similarly, we can start the standalone server with an alternate configuration, say with EE8 capabilities, by executing:
standalone.sh --server-config=standalone-ee8.xml
in OSX/Linux or in Windows:
standalone.bat --server-config=standalone-ee8.xml
Furthermore, to check if the startup is successful, we can open up a browser and navigate to http://localhost:8080/. It’ll show the default WildFly welcome page.
2.3. Stopping the Server
To stop the server we can simply press “CTRL+C”.
Additionally, jboss-cli could be utilized for issuing commands to the running instance of the server. For instance, we can use it to shut down the server.
Let’s open a new terminal or a command prompt and run:
./jboss-cli.sh --connect command:shutdown
in OSX/Linux and in Windows:
./jboss-cli.bat --connect command:shutdown
3. Managed Domain Servers
In this mode, we can manage multiple instances of the server from a single control point. These servers are logically members of a single domain. Here, a single Domain Controller process acts as the central management control point.
By default, JBoss provides few instances of the server. We can find these instances under $JBOSS_HOME/domain/servers directory.
3.1. Preferences and Configurations
The domain startup script i.e. domain.sh for OSX/Linux and domain.bat for Windows utilizes:
- domain.conf/domain.conf.bat: defines the JVM preferences for the servers under the domain
- domain.xml: defines the configurations for the domain; we can find it under $JBOSS_HOME/domain/configuration.
Additionally, we can define our custom configuration for operating these servers similar to the alternate configurations of the standalone server.
3.2. Starting the Server
The process of starting the server under a managed domain remains the same as the standalone server. However, instead of standalone.sh/domain.bat, we’ll use domain.sh/domain.bat.
Consequently, this will spin up multiple servers instances under a single domain.
3.3. Stopping the Server
To stop all the servers we can simply press “CTRL+C”. Moreover, we can stop a specific server using jboss-cli.
Let’s open a new terminal or a command prompt and run:
jboss-cli.sh --connect
in OSX/Linux or in Windows:
jboss-cli.bat --connect
Presently, we are connected to the domain controller. Here, we can issue commands to multiple instances of the server. For instance, to view all the servers under this domain:
/host=master:read-children-names(child-type=server-config)
Similarly, to stop a specific instance of the server, we’ll execute:
/host=master/server-config=<server-name>:stop
Accordingly, we can check the status of this server:
/host=master/server-config=<server-name>:read-resource(include-runtime=true)
4. Conclusion
In this short guide, we explored how to start and stop the application server with different configurations.
For further reading, we have an article that describes the process of deploying a war file on the JBoss application server.