1.10. About Server Groups

A server group is a collection of server instances that are managed and configured as one. In a managed domain, every application server instance belongs to a server group, even if it is the only member. The server instances in a group share the same profile configuration and deployed content. A domain controller and a host controller enforces the standard configuration on all server instances of every server group in its domain. A domain can consist of multiple server groups. Different server groups can be configured with different profiles and deployments, for example in a domain with different tiers of servers providing different services. Different server groups can also have the same profile and deployments, for example to support rolling application upgrade scenarios where a complete service outage is avoided by first upgrading the application on one server group and then upgrading a second server group.
The following is an example of a server group definition:
     
<server-group name="main-server-group" profile="default">
 <socket-binding-group ref="standard-sockets"/>
  <deployments>
   <deployment name="foo.war_v1" runtime-name="foo.war"/>
   <deployment name="bar.ear" runtime-name="bar.ear"/>
  </deployments>
</server-group>

A server group includes the following mandatory attributes:
  • name: the name of the server group
  • profile: the name of the profile for the server group
A server group includes the following optional attributes:
  • socket-binding-group: the name of the default socket binding group to be used for servers in the group. This name can be overridden on a per-server basis in host.xml. If the socket-binding-group name is not provided in the server-group element, it must be provided for each server in the host.xml.
  • deployments: the deployment content to be deployed on the servers in the group
  • system-properties: the system properties to be set on servers in the group
  • jvm: the default jvm settings for all servers in the group. The host controller merges these settings with any other configuration provided in host.xml to derive the settings to be used to launch the server's JVM.