type=page
status=published
title=list
next=list-admin-objects.html
prev=jms-ping.html
~~~~~~
list
====

[[list-1]][[GSRFM00145]][[list]]

list
----

lists configurable or monitorable elements

[[sthref1282]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] list [--help] 
[--monitor={false|true}]
[dotted-parent-attribute-name]
----

[[sthref1283]]

Description

The `list` subcommand lists configurable and monitorable attributes of
\{product---name}.

The output of the `list` subcommand is a list of the dotted names that
represent individual server components and subsystems. For example,
`server.applications.web-module`. After you know the particular
component or subsystem, you can then use the `get` subcommand to access
any attributes, and the `set` subcommand to modify configurable
attributes.

The following rules apply to dotted names in a `list` subcommand:


[NOTE]
=======================================================================

Characters that have special meaning to the shell or command
interpreter, such as * (asterisk), should be quoted or escaped as
appropriate to the shell, for example, by enclosing the argument in
quotes. In multimode, quotes are needed only for arguments that include
spaces, quotes, or backslash.

=======================================================================


* Any `list` subcommand that has a dotted name that is not followed by a
wildcard (*) lists the current node's immediate children. For example,
the following command lists all immediate children belonging to the
server node: +
[source,oac_no_warn]
----
asadmin> list server
----
* Any `list` subcommand that has a dotted name followed by a wildcard(*)
lists a hierarchical tree of child nodes from the current node. For
example, the following command lists all child nodes of applications and
their subsequent child nodes, and so on: +
[source,oac_no_warn]
----
asadmin> list server.applications.*
----
* Any `list` subcommand that has a dotted name preceded or followed by a
wildcard (*) of the form *dotted name or dottedname* lists all nodes and
their child nodes that match the regular expression created by the
provided matching pattern.

For detailed information about dotted names, see the
link:dotted-names.html#dotted-names-5asc[`dotted-names`(5ASC)] help page.

[[sthref1284]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--monitor`::
`-m`::
  Defaults to false. If set to false, the configurable attribute values
  are returned. If set to true, the monitorable attribute values are
  returned.

[[sthref1285]]

Operands

dotted-parent-element-name::
  Configurable or monitorable element name

[[sthref1286]]

Examples

[[GSRFM631]][[sthref1287]]

Example 1   Listing Dotted Names of Configurable Elements

This example lists the elements that can be configured.

[source,oac_no_warn]
----
asadmin> list *
applications
configs
configs.config.server-config
configs.config.server-config.admin-service
configs.config.server-config.admin-service.das-config
configs.config.server-config.admin-service.jmx-connector.system
configs.config.server-config.admin-service.property.adminConsoleContextRoot
configs.config.server-config.admin-service.property.adminConsoleDownloadLocation
configs.config.server-config.admin-service.property.ipsRoot
configs.config.server-config.ejb-container
configs.config.server-config.ejb-container.ejb-timer-service
configs.config.server-config.http-service
configs.config.server-config.http-service.access-log
configs.config.server-config.http-service.virtual-server.__asadmin
configs.config.server-config.http-service.virtual-server.server
configs.config.server-config.iiop-service
configs.config.server-config.iiop-service.iiop-listener.SSL
configs.config.server-config.iiop-service.iiop-listener.SSL.ssl
configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH
configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH.ssl
configs.config.server-config.iiop-service.iiop-listener.orb-listener-1
configs.config.server-config.iiop-service.orb
configs.config.server-config.java-config
configs.config.server-config.jms-service
configs.config.server-config.jms-service.jms-host.default_JMS_host
...
property.administrative.domain.name
resources
resources.jdbc-connection-pool.DerbyPool
resources.jdbc-connection-pool.DerbyPool.property.DatabaseName
resources.jdbc-connection-pool.DerbyPool.property.Password
resources.jdbc-connection-pool.DerbyPool.property.PortNumber
resources.jdbc-connection-pool.DerbyPool.property.User
resources.jdbc-connection-pool.DerbyPool.property.connectionAttributes
resources.jdbc-connection-pool.DerbyPool.property.serverName
resources.jdbc-connection-pool.__TimerPool
resources.jdbc-connection-pool.__TimerPool.property.connectionAttributes
resources.jdbc-connection-pool.__TimerPool.property.databaseName
resources.jdbc-resource.jdbc/__TimerPool
resources.jdbc-resource.jdbc/__default
servers
servers.server.server
servers.server.server.resource-ref.jdbc/__TimerPool
servers.server.server.resource-ref.jdbc/__default
system-applications
Command list executed successfully.
----

[[GSRFM632]][[sthref1288]]

Example 2   Listing Attributes of a Configurable Element

This example lists the attributes of the web container.

[source,oac_no_warn]
----
asadmin> list configs.config.server-config.web-container
configs.config.server-config.web-container
configs.config.server-config.web-container.session-config
Command list executed successfully.
----

[[GSRFM633]][[sthref1289]]

Example 3   Listing Dotted Names of Monitorable Objects

This example lists the names of the monitorable objects that are enabled
for monitoring.

[source,oac_no_warn]
----
asadmin> list --monitor *
server.jvm
server.jvm.class-loading-system
server.jvm.compilation-system
server.jvm.garbage-collectors
server.jvm.garbage-collectors.Copy
server.jvm.garbage-collectors.MarkSweepCompact
server.jvm.memory
server.jvm.operating-system
server.jvm.runtime
server.network
server.network.admin-listener
server.network.admin-listener.connections
server.network.admin-listener.file-cache
server.network.admin-listener.keep-alive
server.network.admin-listener.thread-pool
server.network.http-listener-1
server.network.http-listener-1.connections
server.network.http-listener-1.file-cache
server.network.http-listener-1.keep-alive
server.network.http-listener-1.thread-pool
server.transaction-service
Command list executed successfully.
----

[[sthref1290]]

Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1291]]

See Also

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

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

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

link:../administration-guide/toc.html#GSADG[GlassFish Server Open Source Edition Administration Guide]


