type=page
status=published
title=list-system-properties
next=list-threadpools.html
prev=list-supported-cipher-suites.html
~~~~~~

list-system-properties
======================

[[list-system-properties-1]][[GSRFM00203]][[list-system-properties]]

list-system-properties
----------------------

Lists the system properties of the domain, configuration, cluster, or
server instance

[[sthref1818]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-system-properties [--help]
[target]
----

[[sthref1819]]

=== Description

Shared or clustered server instances will often need to override
attributes defined in their referenced configuration. Any configuration
attribute in a server instance can be overridden through a system
property of the corresponding name. This list-system-properties
subcommand lists the system properties of a domain, configuration,
cluster, or server instance.

This subcommand is supported in remote mode only.

[[sthref1820]]

=== 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.

[[sthref1821]]

=== Operands

target::
  This restricts the listing to system properties for a specific target.
  Valid values are:

  domain;;
    Lists the system properties defined for the domain.
  configuration_name;;
    Lists the system properties for the named configuration as well as
    those the cluster inherits from the domain.
  cluster_name;;
    Lists the system properties defined for the named cluster as well as
    those the cluster. inherits from its configuration and the domain.
  instance_name;;
    Lists the system properties defined for the named server instance as
    well as those the server inherits from its cluster (if the instance
    is clustered), its configuration, and the domain.

[[sthref1822]]

=== Examples

[[GSRFM713]][[sthref1823]]

==== Example 1   Listing System Properties

This example lists the system properties on `localhost`.

[source]
----
asadmin> list-system-properties
http-listener-port=1088
Command list-system-properties executed successfully.
----

[[sthref1824]]

=== Exit Status

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

[[sthref1825]]

=== See Also

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

link:create-system-properties.html#create-system-properties-1[`create-system-properties`(1)],
link:delete-system-property.html#delete-system-property-1[`delete-system-property`(1)]


