File System

During installation, FAS creates a directory structure below the installation directory:

DirectoryDescription
appclientFor running JEE Application clients (unsupported feature).
binScripts for starting FAS, CLI, and JConsole. The files in this directory are detailed in the "Files in the bin Directory" section.
bundlesOSGI bundles directory (unsupported feature)
docsContains XSD schema
domainContains configuration and log files.
domain/configurationContains configuration files. See the
"Files in the domain/configuration Directory" section.
domain/configuration/darsDevelopment application router configuration (unsupported feature)
domain/configuration/domain_xml_historyBackups of domain.xml
domain/configuration/host_xml_historybackups of host.xml
domain/configuration/securityContains identity and trust certificate files for TLS
domain/dataFAS data directory containing uploaded content (such as applications).
domain/logLogs associated with the host controller and process controller (not server processes).
domain/serversContains folders specific to each server.
domain/servers/appserver‑/First AS folder (name will vary). There may be several directories like this, each with its own hostname, and duplicating the structure of directories within this one.
domain/servers/appserver‑/dataContent and data required by subsystems.
domain/servers/appserver‑/logLogs for this AS.
domain/servers/appserver‑/tmpAS’s virtual file system and working directory.
domain/servers/loadbalancer‑LB folder (name will vary).
domain/servers/loadbalancer‑/dataContent and data required by subsystems.
domain/servers/loadbalancer‑/logLogs for this LB.
domain/servers/loadbalancer‑/tmpLB’s virtual file system and working directory.
domain/servers/managementManagement server folder. This server hosts the License Server.
domain/servers/management/dataContent and data required by subsystems.
domain/servers/management/logLogs for the management server.
domain/servers/management/tmpManagement server’s virtual file system and working directory.
modulesThe location of modules. A module can be a subsystem or a set of Java libraries
resourcesSet of scripts and configuration. Used for init.d/ service startup.
UninstallerContains the JAR file executable used to uninstall Fusion Application Server.
welcome-contentHTML displayed by Web system at root context.

Files in the domain/configuration Directory

The domain/configuration directory is the most important directory, as it contains the two files that define the domain configuration, domain.xml and host.xml, together with a number of .properties files:

File Description 
domain.xmlThis file is managed on the Domain Host Controller and pushed to slave host controllers when they start. The slave host controllers do not use the domain.xml file (it is kept in memory).

This file is not normally edited directly; you should use the CLI or Management Console to change domain configuration. As well as being safer, using the CLI or Management Console usually means that a server restart is not required for the changes to be applied.

The file contains the following information:

● A full list of the subsystems used by the domain.

● Domain level system properties.

● A set of profiles. Each profile defines configuration for a subset of systems.

● A set of interfaces (for example, management, public).

● A set of socket binding groups that defines which ports to use.

● A set of server groups. This defines the configuration for the server group (for example, JVM settings and server group level system properties), but not the members of the server group.
domain.cachedremote.xmlSlave host controllers cache the domain.xml file in memory, and use the cached file if they cannot retrieve the configuration from the Domain Host Controller.
host.xmlA companion configuration file to domain.xml. While the domain.xml file is identical on all hosts in a domain, the host.xml file is different for each host.

The file contains configuration for the following:

● Security realms and authentication details.

● Interfaces (for example, which IP address to bind to).

● Which Domain Host Controller to connect to (can be local or remote).

● Server processes on this machine, including which server group to join, whether to automatically start, and whether to use port offsets.

● The name of the host and server processes.
hostmaster.xml and hostslave.xmlThese files aren't normally used but might be useful if the role of the host needs to be switched, for example, from slave to master.
logging.propertiesUsed briefly (by the host controller) during startup, before the logging subsystem is initialized.
fas.propertiesContains the IP address that the management and public interfaces bind to. This is useful if the IP address of the host changes.
mgmtusers.propertiesProvides storage for user names and passwords for the Management Realm. Alternative approaches are possible.
applicationroles.properties and applicationusers.propertiesContains authentication for the Application Realm. This realm is configured in the host.xml file, but is unused, and these files are empty by default. Applications may choose to use roles, user names, and passwords from the Application Realm, in which case entries are needed in these files.

Files in the bin Directory

The files in the bin directory are used for things like starting the AS, LB and JConsole, connecting to JMX, and adding users:

FileDescription
adduser.shAdds users to the mgmt-users.properties or application-users.properties files. See the "Files in the domain/configuration Directory" section.
appclient.shFor running applications’ JEE Application Client Container (unsupported feature).
fas.shCan be used to start the AS and LB.

This file is useful in a development environment, as it displays a console log and Ctrl+C will quickly kill the server.

On a production system, use system services instead.
jbosscli.shStarts the CLI, which can be used to edit most of the configuration values in the domain.xml and host.xml files. It can connect to a local or remote host controller. The CLI can also be started in GUI mode. See the Command Line Interface (CLI) section in the previous article.
jconsole.sh and jconsoleas.sshThe standard Java JConsole requires additional classes to connect to the FAS's JMX interfaces. These scripts add the necessary libraries to the classpath.

jconsole.sh is for connecting to the host controller's JMX interface.

jconsole-as.sh is for connecting to the AS's JMX interface.

Makes an educated guess at the JMX service URL.

Does not have the JBoss CLI JMX extension (this script can only connect to the host controller). See the Monitoring using JMX section in the Monitoring article.
jdr.shJBoss diagnostics reporter. Collects information about what is installed, in a form suitable for diagnostics. See the Diagnostics section in the Monitoring article for information about the data collected by this script.
vault.shThe vault allows passwords and other sensitive data to be masked rather than being stored in plain text.
wsconsume.sh and wsprovide.shThese files help to automatically generate JAX-WS clients and services from a WSDL Web service definition file.