type=page
status=published
title=configuration
next=domain.html
prev=application.html
~~~~~~
configuration
=============

[[configuration-5asc]][[GSRFM00266]][[configuration]]

configuration
-------------

the data set that determines how \{product---name} operates

[[sthref2394]]

Description

The configuration of \{product---name} is the data set that determines
how it operates. Parts of this configuration determine the operation of
specific parts of \{product---name}, such as the following:

* Services, such as the transaction service
* Resources, such as databases
* Deployed applications or modules, such as web applications
* Clusters and server instances

The term configuration is also used to describe a part of the overall
configuration, such as the transaction service configuration or the
configuration of a database. In clustered environments, clusters or
server instances can share configurations.

Examples of configuration data are port numbers, flags that enable or
disable processes, application names, and so on. Most of these data
points are name/value pairs, either hard-coded attributes or more
flexibly defined properties.

The hierarchical structure of the configuration is explained in the
dotted names page. You can view and change most of the \{product---name}
configuration using either the Administration Console or the `asadmin`
utility and its subcommands. To list the structure of all or part of the
configuration, use the `list` subcommand. To view the value of one or
more attributes or properties, use the `get` subcommand. To change the
value of an attribute or property, use the `set` subcommand.

[[sthref2395]]

See Also

link:get.html#get-1[`get`(1)], link:list.html#list-1[`list`(1)],
link:set.html#set-1[`set`(1)]

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)]

"link:../administration-guide/overview.html#GSADG00527[Configuration Tasks]" in GlassFish Server Open Source
Edition Administration Guide


