type=page
status=published
title=get-active-module-config
next=get-client-stubs.html
prev=get.html
~~~~~~
get-active-module-config
========================

[[get-active-module-config-1]][[GSRFM859]][[get-active-module-config]]

get-active-module-config
------------------------

displays the current active configuration of a service or instance

[[sthref1219]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] get-active-module-config [--help]
[--target target]
[--all={false|true}]
[service_name]
----

[[sthref1220]]

Description

The `get-active-module-config` subcommand displays the current active
configuration of a service or instance.

This subcommand is supported in remote mode only.

[[sthref1221]]

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.
`--target`::
  Specifies the target for which you want to view the current active
  configuration of a specific service or an entire instance. +
  Possible values are as follows: +
  `server`;;
    Displays the current active configuration for the default server
    instance. This is the default value.
  `domain`;;
    Displays the current active configuration for the default domain.
  cluster-name;;
    Displays the current active configuration for every server instance
    in the specified cluster.
  instance-name;;
    Displays the current active configuration for the specified
    instance.
`--all`::
  Displays all current active configurations. +
  The default value is `false`.

[[sthref1222]]

Operands

service_name::
  The name of the module for which you want to display the current
  active configuration.

[[sthref1223]]

Examples

[[GSRFM860]][[sthref1224]]

Example 1   Displaying the Current Active Configuration

This example displays the current active configuration for the JMS
service in `server-config` (the default configuration).

[source,oac_no_warn]
----
asadmin> get-active-module-config jms-service
At location: domain/configs/config[server-config]
<jms-service default-jms-host="default_JMS_host" type="EMBEDDED"
  <jms-host port="7676" host="localhost" name="default_JMS_host"/>
</jms-service>
Command get-active-module-config executed successfully.
----

[[sthref1225]]

Exit Status

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

[[sthref1226]]

See Also

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

link:create-module-config.html#create-module-config-1[`create-module-config`(1)],
link:delete-module-config.html#delete-module-config-1[`delete-module-config`(1)]


