| type=page |
| status=published |
| title=General Administration |
| next=domains.html |
| prev=part-runtime-admin.html |
| ~~~~~~ |
| |
| = General Administration |
| |
| [[GSADG00005]][[gitya]] |
| |
| |
| [[general-administration]] |
| == 2 General Administration |
| |
| This chapter provides instructions for performing general administration |
| tasks in the {productName} 7 environment by |
| using the `asadmin` command-line utility. |
| |
| The following topics are addressed here: |
| |
| * link:#giobi[Using the `asadmin` Utility] |
| * link:#ghcjc[Administering System Properties] |
| * link:#CHDJBJDA[Using Configuration Modularity] |
| * link:#gixps[Administering Resources] |
| * link:#ggocm[Listing Various System Elements] |
| * link:#gjipx[Using REST Interfaces to Administer {productName}] |
| |
| Instructions for accomplishing the tasks in this chapter by using the |
| Administration Console are contained in the Administration Console |
| online help. |
| |
| [[giobi]][[GSADG00530]][[using-the-asadmin-utility]] |
| |
| === Using the `asadmin` Utility |
| |
| Use the `asadmin` utility to perform administrative tasks for {productName} from the command line or from a script. You can use this utility |
| instead of the Administration Console interface. |
| |
| The following topics are addressed here: |
| |
| * link:#giwdb[Path to the `asadmin` Utility] |
| * link:#givvn[`asadmin` Utility Syntax] |
| * link:#ghvzx[To Run an `asadmin` Utility Subcommand in Single Mode] |
| * link:#givlw[To Display Help Information for the `asadmin` Utility or a |
| Subcommand] |
| * link:#giodz[To Start a Multimode Session] |
| * link:#givjn[To End a Multimode Session] |
| * link:#givjd[To Run a Set of `asadmin` Subcommands From a File] |
| * link:#CACDDHBA[To Run `asadmin` Subcommands in `--detach` Mode] |
| |
| [[giwdb]][[GSADG00705]][[path-to-the-asadmin-utility]] |
| |
| ==== Path to the `asadmin` Utility |
| |
| The `asadmin` utility is located in the as-install``/bin`` directory. To |
| run the `asadmin` utility without specifying the path, ensure that this |
| directory is in your path. |
| |
| [[givvn]][[GSADG00706]][[asadmin-utility-syntax]] |
| |
| ==== `asadmin` Utility Syntax |
| |
| The syntax for running the `asadmin` utility is as follows: |
| |
| [source] |
| ---- |
| asadmin [asadmin-util-options] [subcommand [subcommand-options] [operands]] |
| ---- |
| |
| The replaceable items in this syntax are described in the subsections |
| that follow. For full details of this syntax, see the |
| https://github.com/eclipse-ee4j/glassfishdoc/5.0/reference-manual.pdf[`asadmin`(1M)] |
| help page. |
| |
| [[ghvzn]][[GSADG00631]][[subcommands-of-the-asadmin-utility]] |
| |
| ===== Subcommands of the `asadmin` Utility |
| |
| The subcommand identifies the operation or task that you are performing. |
| Subcommands are case-sensitive. Each subcommand is either a local |
| subcommand or a remote subcommand. |
| |
| * A local subcommand can be run without a running domain administration |
| server (DAS). However, to run the subcommand and have access to the |
| installation directory and the domain directory, the user must be logged |
| in to the machine that hosts the domain. |
| * A remote subcommand is always run by connecting to a DAS and running |
| the subcommand there. A running DAS is required. |
| |
| For a list of the subcommands for this release of {productName}, see |
| Section 1 of the |
| https://github.com/eclipse-ee4j/glassfishdoc/5.0/reference-manual.pdf[{productName} Reference Manual]. |
| |
| [[ghvyd]][[GSADG00632]][[asadmin-utility-options-and-subcommand-options]] |
| |
| ===== `asadmin` Utility Options and Subcommand Options |
| |
| Options control the behavior of the `asadmin` utility and its |
| subcommands. Options are case-sensitive. |
| |
| The `asadmin` utility has the following types of options: |
| |
| * `asadmin` utility options. These options control the behavior of the |
| `asadmin` utility, not the subcommand. The `asadmin` utility options may |
| precede or follow the subcommand, but `asadmin` utility options after |
| the subcommand are deprecated. All `asadmin` utility options must either |
| precede or follow the subcommand. If `asadmin` utility options are |
| specified both before and after the subcommand, an error occurs. For a |
| description of the `asadmin` utility options, see the |
| link:reference-manual/asadmin.html#GSRFM00263[`asadmin`(1M)] help page. |
| * Subcommand Options. These options control the behavior of the |
| subcommand, not the `asadmin` utility. Subcommand options must follow |
| the subcommand. For a description of a subcommand's options, see the |
| entry for the subcommand in the |
| https://github.com/eclipse-ee4j/glassfishdoc/5.0/reference-manual.pdf[{productName} Reference Manual]. |
| + |
| |
| [NOTE] |
| ==== |
| Not all subcommand options are supported for this release of {productName}. If you specify an unsupported option, a syntax error does not |
| occur. Instead, the command runs successfully and the unsupported option |
| is silently ignored. |
| ==== |
| |
| |
| A subcommand option may have the same name as an `asadmin` utility |
| option, but the effects of the two options are different. |
| |
| Options have a long form and a short form. |
| |
| * The short form of an option has a single dash (`-`) followed by a |
| single character. |
| * The long form of an option has two dashes (`--`) followed by an option |
| word. |
| |
| For example, the short form and the long form of the option for |
| specifying terse output are as follows: |
| |
| * Short form: `-t` |
| * Long form: `--terse` |
| |
| Most options require argument values, except Boolean options, which |
| toggle to enable or disable a feature. |
| |
| [[ghvyj]][[GSADG00633]][[operands-of-asadmin-utility-subcommands]] |
| |
| ===== Operands of `asadmin` Utility Subcommands |
| |
| Operands specify the items on which the subcommand is to act. Operands |
| must follow the argument values of subcommand options, and are set off |
| by a space, a tab, or double dashes (`--`). The `asadmin` utility treats |
| anything that follows the subcommand options and their values as an |
| operand. |
| |
| [[ghvzx]][[GSADG00304]][[to-run-an-asadmin-utility-subcommand-in-single-mode]] |
| |
| ==== To Run an `asadmin` Utility Subcommand in Single Mode |
| |
| In single mode, you must type a separate `asadmin` command for each |
| subcommand that you want to use. After the subcommand has run, you are |
| returned to the operating system's command shell. Any `asadmin` utility |
| options must be specified in each separate `asadmin` command that you |
| run. If you require the same `asadmin` utility options for multiple |
| subcommands, use the `asadmin` utility in multimode. For more |
| information, see link:#giodz[To Start a Multimode Session]. |
| |
| 1. In the operating system's command shell, run the `asadmin` utility, |
| specifying the subcommand. |
| 2. If necessary, also specify any required `asadmin` utility options, |
| subcommand options, and operands. |
| |
| [[GSADG00098]][[giwdr]] |
| Example 2-1 Running an `asadmin` Utility Subcommand in Single Mode |
| |
| This example runs the link:reference-manual/list-applications.html#GSRFM00148[`list-applications`] subcommand |
| in single mode. In this example, the default values for all options are |
| used. |
| |
| The example shows that the application `hello` is deployed on the local |
| host. |
| |
| [source] |
| ---- |
| asadmin list-applications |
| hello <web> |
| Command list-applications executed successfully. |
| ---- |
| |
| [[GSADG00099]][[giwbf]] |
| Example 2-2 Specifying an `asadmin` Utility Option With a Subcommand in |
| Single Mode |
| |
| This example specifies the `--host` `asadmin` utility option with the |
| `list-applications` subcommand in single mode. In this example, the DAS |
| is running on the host `srvr1.example.com`. |
| |
| The example shows that the applications `basic-ezcomp`, `scrumtoys`, |
| `ejb31-war`, and `automatic-timer-ejb` are deployed on the host |
| `srvr1.example.com`. |
| |
| [source] |
| ---- |
| asadmin --host srvr1.example.com list-applications |
| basic-ezcomp <web> |
| scrumtoys <web> |
| ejb31-war <ejb, web> |
| automatic-timer-ejb <ejb> |
| Command list-applications executed successfully. |
| ---- |
| |
| [[GSADG00100]][[ghvyk]] |
| Example 2-3 Specifying an `asadmin` Utility Option and a Subcommand |
| Option in Single Mode |
| |
| This example specifies the `--host` `asadmin` utility option and the |
| `--type` subcommand option with the `list-applications` subcommand in |
| single mode. In this example, the DAS is running on the host |
| `srvr1.example.com` and applications of type `web` are to be listed. |
| |
| [source] |
| ---- |
| asadmin --host srvr1.example.com list-applications --type web |
| basic-ezcomp <web> |
| scrumtoys <web> |
| ejb31-war <ejb, web> |
| Command list-applications executed successfully. |
| ---- |
| |
| [[givlw]][[GSADG00305]][[to-display-help-information-for-the-asadmin-utility-or-a-subcommand]] |
| |
| ==== To Display Help Information for the `asadmin` Utility or a Subcommand |
| |
| {productName} provides help information about the syntax, purpose, |
| and options of the `asadmin` utility and its subcommands. This help |
| information is written in the style of UNIX platform man pages. This |
| help information is also available in the link:reference-manual.html#GSRFM[{productName} Reference Manual]. |
| |
| 1. If you are displaying help information for a remote subcommand, |
| ensure that the server is running. |
| + |
| Remote subcommands require a running server. |
| 2. Specify the subcommand of interest as the operand of the `help` |
| subcommand. |
| + |
| If you run the `help` subcommand without an operand, help information |
| for the `asadmin` utility is displayed. |
| |
| [[GSADG00101]][[giwgs]] |
| Example 2-4 Displaying Help Information for the `asadmin` Utility |
| |
| This example displays the help information for the `asadmin` utility. |
| |
| [source] |
| ---- |
| asadmin help |
| ---- |
| |
| [[GSADG00102]][[giusg]] |
| Example 2-5 Displaying Help Information for an `asadmin` Utility |
| Subcommand |
| |
| This example displays the help information for the |
| `create-jdbc-resource` subcommand. |
| |
| [source] |
| ---- |
| asadmin help create-jdbc-resource |
| ---- |
| |
| [[GSADG800]] |
| |
| See Also |
| |
| To display the available subcommands, use the |
| link:reference-manual/list-commands.html#GSRFM00154[`list-commands`] subcommand. Local subcommands are |
| displayed before remote subcommands. If the server is not running, only |
| local subcommands are displayed. |
| |
| [[giodz]][[GSADG00306]][[to-start-a-multimode-session]] |
| |
| ==== To Start a Multimode Session |
| |
| The `asadmin` utility can be used in multiple command mode, or |
| multimode. In multimode, you run the `asadmin` utility once to start a |
| multimode session. During the session, the `asadmin` utility continues |
| to accept subcommands until you end the session and return to the |
| operating system's command shell. Any `asadmin` utility options that you |
| set for your multimode session are used for all subsequent subcommands |
| in the session. |
| |
| |
| [NOTE] |
| ==== |
| Starting a multimode session does not require a running DAS. |
| ==== |
| |
| 1. Do one of the following: |
| * Run the `asadmin` utility without a subcommand. |
| * Use the link:reference-manual/multimode.html#GSRFM00213[`multimode`] subcommand. |
| 2. If necessary, also specify any `asadmin` utility options that will |
| apply throughout the multimode session. |
| 3. In a multimode session, the `asadmin>` prompt is displayed on the |
| command line. You can now type `asadmin` subcommands at this prompt to |
| administer {productName}. |
| |
| [[GSADG00103]][[givuq]] |
| Example 2-6 Starting a Multimode Session With `asadmin` Utility Options |
| |
| This example starts a multimode session in which the `asadmin` utility |
| options `--user` and `--passwordfile` are set for the session. |
| |
| [source] |
| ---- |
| asadmin --user admin1 --passwordfile pwd.txt multimode |
| ---- |
| |
| [[GSADG00104]][[giwgh]] |
| Example 2-7 Starting a Multimode Session by Using the `multimode` |
| Subcommand |
| |
| This example uses the `multimode` subcommand to start a multimode |
| session in which the default `asadmin` utility options are used. |
| |
| [source] |
| ---- |
| asadmin multimode |
| ---- |
| |
| The `asadmin>` prompt is displayed on the command line. |
| |
| [[GSADG00105]][[ghvzc]] |
| Example 2-8 Running a Subcommand in a Multimode Session |
| |
| This example starts a multimode session and runs the `list-domains` |
| subcommand in the session. |
| |
| [source] |
| ---- |
| asadmin |
| Enter commands one per "line", ^D to quit |
| asadmin> list-domains |
| Name: domain1 Status: Running |
| Command list-domains executed successfully. |
| asadmin> |
| ---- |
| |
| [[GSADG801]] |
| |
| Starting a Multimode Session From Within an Existing Multimode Session |
| |
| You can start a multimode session from within an existing session by |
| running the `multimode` subcommand from within the existing session. |
| After you end the second multimode session, you return to your original |
| multimode session. |
| |
| [[GSADG802]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help multimode` at the command line. |
| |
| [[givjn]][[GSADG00307]][[to-end-a-multimode-session]] |
| |
| ==== To End a Multimode Session |
| |
| At the `asadmin>` prompt, type one of the following commands or key |
| combinations: |
| |
| * `exit` |
| * `quit` |
| * UNIX and Linux systems: Ctrl-D |
| * Windows systems: Ctrl-Z |
| |
| |
| [CAUTION] |
| ==== |
| Do not type Ctrl-C to end a multimode session. If a domain or {productName} instance is started from the multimode session, typing Ctrl-C |
| kills the domain or instance process. |
| ==== |
| |
| |
| You are returned to the operating system's command shell and the |
| `asadmin>` prompt is no longer displayed. If the `asadmin>` prompt is |
| still displayed, you might have opened a multimode session within a |
| multimode session. In this situation, repeat this procedure to end the |
| remaining multimode session. |
| |
| [[givjd]][[GSADG00308]][[to-run-a-set-of-asadmin-subcommands-from-a-file]] |
| |
| ==== To Run a Set of `asadmin` Subcommands From a File |
| |
| Running a set of `asadmin` subcommands from a file enables you to |
| automate repetitive tasks. |
| |
| 1. Create a plain text file that contains the sequence of subcommands |
| that you want to run. |
| 2. Run the link:reference-manual/multimode.html#GSRFM00213[`multimode`] subcommand, specifying the |
| file that you created. |
| + |
| If necessary, also specify any `asadmin` utility options that are |
| required to enable subcommands in the file to run. |
| |
| [[GSADG00106]][[givul]] |
| Example 2-9 Running a Set of `asadmin` Subcommands From a File |
| |
| This example contains the following: |
| |
| * A listing of a file that is named `commands_file.txt`, which contains |
| a sequence of `asadmin` subcommands |
| * The command to run the subcommands in the file `commands_file.txt` |
| |
| The `commands_file.txt` file contains the `asadmin` utility subcommands |
| to perform the following sequence of operations: |
| |
| 1. Creating the domain `customdomain` |
| 2. Starting the domain `customdomain` |
| 3. Listing all available subcommands |
| 4. Stopping the domain `customdomain` |
| 5. Deleting the domain `customdomain` |
| |
| The content of the `commands_file.txt` file is as follows: |
| |
| [source] |
| ---- |
| create-domain --portbase 9000 customdomain |
| start-domain customdomain |
| list-commands |
| stop-domain customdomain |
| delete-domain customdomain |
| ---- |
| |
| This example runs the sequence of subcommands in the `commands_file.txt` |
| file. Because the `--portbase` option is specified for the |
| `create-domain` subcommand in the file, the `--port` `asadmin` utility |
| option must also be set. |
| |
| [source] |
| ---- |
| asadmin --port 9048 multimode --file commands_file.txt |
| ---- |
| |
| [[GSADG803]] |
| |
| See Also |
| |
| For more information about the subcommands in the preceding example, see |
| the following help pages: |
| |
| * link:reference-manual/create-domain.html#GSRFM00023[`create-domain`(1)] |
| * link:reference-manual/delete-domain.html#GSRFM00075[`delete-domain`(1)] |
| * link:reference-manual/list-commands.html#GSRFM00154[`list-commands`(1)] |
| * link:reference-manual/multimode.html#GSRFM00213[`multimode`(1)] |
| * link:reference-manual/start-domain.html#GSRFM00235[`start-domain`(1)] |
| * link:reference-manual/stop-domain.html#GSRFM00240[`stop-domain`(1)] |
| |
| [[CACDDHBA]][[GSADG1055]][[to-run-asadmin-subcommands-in---detach-mode]] |
| |
| ==== To Run `asadmin` Subcommands in `--detach` Mode |
| |
| You can use the `--detach` option of the `asadmin` utility to detach |
| `asadmin` subcommands and run them in the background in detach mode. The |
| `asadmin` `--detach` option is useful for long-running subcommands and |
| enables you to run several independent subcommands from one console or |
| script. |
| |
| 1. Ensure that the server is running. Remote commands require a running server. |
| 2. Detach and run the subcommand by using the `asadmin` `--detach` option. |
| |
| [[GSADG1056]][[sthref7]] |
| Example 2-10 Using the `--detach` Option in Single Mode |
| |
| This example uses the `asadmin` `--detach` option in single mode to run |
| the `create-cluster` subcommand. |
| |
| [source] |
| ---- |
| asadmin --detach create-cluster Cluster1 |
| Job ID: 1 |
| Command create-cluster started successfully. |
| ---- |
| |
| [[GSADG1057]][[sthref8]] |
| Example 2-11 Using the `--detach` Option in Multimode |
| |
| This example uses the `asadmin` `--detach` option in multimode to run |
| the `create-cluster` subcommand. |
| |
| [source] |
| ---- |
| asadmin> create-cluster Cluster1 --detach |
| Job ID: 1 |
| Command create-cluster started successfully. |
| ---- |
| |
| Job IDs are assigned to subcommands that are started using the `asadmin` |
| `--detach` option or that contain progress information. You can use the |
| `list-jobs` subcommand to list jobs and their job IDs, the `attach` |
| subcommand to reattach to a job and view its status, and the |
| `configure-managed-jobs` subcommand to configure how long information |
| about jobs is kept. |
| |
| [[GSADG1058]][[sthref9]] |
| Example 2-12 Listing Jobs |
| |
| This example runs the `list-jobs` subcommand in multimode to list jobs |
| and job information. |
| |
| [source] |
| ---- |
| asadmin> list-jobs |
| JOB ID COMMAND STATE EXIT CODE TIME OF COMPLETION |
| 1 create-cluster COMPLETED SUCCESS 2013-02-15 16:16:16 PST |
| 2 deploy COMPLETED FAILURE 2013-02-15 18:26:30 PST |
| Command list-jobs executed successfully |
| ---- |
| |
| [[GSADG1059]][[sthref10]] |
| Example 2-13 Attaching to a Subcommand and Checking Its Status |
| |
| This example runs the `attach` subcommand in multimode to attach to the |
| `create-cluster` subcommand with a job ID of `1`. If a subcommand is |
| still in progress, the output displays the current status, such as |
| percentage complete. |
| |
| [source] |
| ---- |
| asadmin> attach 1 |
| Command create-cluster executed with status SUCCESS. |
| Command attach executed successfully. |
| ---- |
| |
| [[GSADG1060]][[sthref11]] |
| Example 2-14 Configuring Managed Jobs |
| |
| This example runs the `configure-managed-jobs` subcommand in multimode |
| to set the job retention period to 36 hours. Time periods can be |
| specified in Hh|Mm|Ss for hours, minutes, or seconds. |
| |
| [source] |
| ---- |
| asadmin> configure-managed-jobs --job-retention-period=36h |
| Command configure-managed-jobs executed successfully. |
| ---- |
| |
| [[GSADG1061]] |
| |
| See Also |
| |
| For the full syntax and options of the subcommands in the preceding |
| examples, see the following help pages: |
| |
| * link:reference-manual/attach.html#GSRFM825[`attach`(1)] |
| * link:reference-manual/configure-managed-jobs.html#GSRFM836[`configure-managed-jobs`(1)] |
| * link:reference-manual/list-jobs.html#GSRFM867[`list-jobs`(1)] |
| |
| [[ghcjc]][[GSADG00531]][[administering-system-properties]] |
| |
| === Administering System Properties |
| |
| Shared server instances will often need to override attributes defined |
| in their referenced configuration. Any configuration attribute can be |
| overridden through a system property of the corresponding name. |
| |
| The following topics are addressed here: |
| |
| * link:#ggonc[To Create System Properties] |
| * link:#ggodt[To List System Properties] |
| * link:#ggomm[To Delete a System Property] |
| |
| [[ggonc]][[GSADG00309]][[to-create-system-properties]] |
| |
| ==== To Create System Properties |
| |
| Use the `create-system-properties` subcommand in remote mode to create |
| or update one or more system properties of the domain or configuration. |
| Any configuration attribute can be overwritten through a system property |
| of the corresponding name. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Create system properties by using the |
| link:reference-manual/create-system-properties.html#GSRFM00059[`create-system-properties`] subcommand. |
| + |
| Information about properties for the subcommand is included in this help |
| page. |
| |
| [[GSADG00107]][[ggovp]] |
| Example 2-15 Creating a System Property |
| |
| This example creates a system property associated with |
| `http-listener-port=1088` on `localhost`. |
| |
| [source] |
| ---- |
| asadmin> create-system-properties http-listener-port=1088 |
| Command create-system-properties executed successfully. |
| ---- |
| |
| [[GSADG804]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help create-system-properties` at the command line. |
| |
| [[ggodt]][[GSADG00310]][[to-list-system-properties]] |
| |
| ==== To List System Properties |
| |
| Use the `list-system-properties` subcommand in remote mode to list the |
| system properties that apply to a domain, cluster, or server instance or |
| configuration. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List system properties by using the |
| link:reference-manual/list-system-properties.html#GSRFM00203[`list-system-properties`] subcommand. |
| + |
| The existing system properties are displayed, including predefined |
| properties such as `HTTP_LISTENER_PORT` and `HTTP_SSL_LISTENER_PORT`. |
| |
| [[GSADG00108]][[ggopn]] |
| Example 2-16 Listing System Properties |
| |
| This example lists the system properties on host `localhost`. |
| |
| [source] |
| ---- |
| asadmin> list-system-properties |
| http-listener-port=1088 |
| Command list-system-properties executed successfully. |
| ---- |
| |
| [[GSADG805]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help list-system-properties` at the command line. |
| |
| [[ggomm]][[GSADG00311]][[to-delete-a-system-property]] |
| |
| ==== To Delete a System Property |
| |
| Use the `delete-system-property` subcommand in remote mode to delete |
| system properties. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List the existing system properties by using the |
| link:reference-manual/list-system-properties.html#GSRFM00203[`list-system-properties`] subcommand. |
| 3. Delete the system property by using the |
| link:reference-manual/delete-system-property.html#GSRFM00110[`delete-system-property`] subcommand. |
| 4. If necessary, notify users that the system property has been |
| deleted. |
| |
| [[GSADG00109]][[ggoph]] |
| Example 2-17 Deleting a System Property |
| |
| This example deletes a system property named `http-listener-port` from |
| `localhost`. |
| |
| [source] |
| ---- |
| asadmin> delete-system-property http-listener-port |
| Command delete-system-property executed successfully. |
| ---- |
| |
| [[GSADG806]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help delete-system-property` at the command line. |
| |
| [[CHDJBJDA]][[GSADG1096]][[using-configuration-modularity]] |
| |
| === Using Configuration Modularity |
| |
| With configuration modularity in {productName}, |
| new modules can be added to {productName} distributions without |
| modifying the global `domain.xml` configuration file. Default |
| configuration data for modules is stored in the modules themselves, |
| rather than in `domain.xml`, and loaded when needed. |
| |
| Module configuration elements are stored in `domain.xml` only when the |
| default configuration included in the module is changed or when module |
| configuration elements are added to `domain.xml` using the |
| `create-module-config` subcommand. The `delete-module-config` subcommand |
| removes module configuration elements from `domain.xml`, and the |
| `get-active-module-config` subcommand displays the current active |
| configuration of a module. |
| |
| [[CHDGCJCF]][[GSADG1097]][[to-add-the-default-configuration-of-a-module-to-domain.xml]] |
| |
| ==== To Add the Default Configuration of a Module to `domain.xml` |
| |
| Use the `create-module-config` subcommand to add the default |
| configuration of a module to `domain.xml`. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Add the default configuration of a module to `domain.xml` by using |
| the link:reference-manual/create-jdbc-resource.html#GSRFM00037[`create-module-config`] subcommand. |
| |
| [[GSADG1098]][[sthref12]] |
| Example 2-18 Adding Module Configuration to `domain.xml` |
| |
| This example adds the default configuration of the web container module |
| to `domain1` in `server-config` (the default configuration). Use the |
| `--dryrun` option to preview the configuration before it is added. |
| |
| [source] |
| ---- |
| asadmin> create-module-config web-container |
| Command create-module-config executed successfully. |
| ---- |
| |
| [[GSADG1099]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help create-module-config` at the command line. |
| |
| [[CHDJCJFA]][[GSADG1100]][[to-remove-the-configuration-of-a-module-from-domain.xml]] |
| |
| ==== To Remove the Configuration of a Module From `domain.xml` |
| |
| Use the `delete-module-config` subcommand to remove the configuration of |
| a module from `domain.xml` and cause the module to use the default |
| configuration included in the module. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Remove the configuration of a module from `domain.xml` by using the |
| link:reference-manual/create-jdbc-resource.html#GSRFM00037[`delete-module-config`] subcommand. |
| |
| [[GSADG1101]][[sthref13]] |
| Example 2-19 Removing Module Configuration From `domain.xml` |
| |
| This example deletes the configuration of the web container module from |
| `domain1` in `server-config` (the default configuration). |
| |
| [source] |
| ---- |
| asadmin> delete-module-config web-container |
| Command delete-module-config executed successfully. |
| ---- |
| |
| [[GSADG1102]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help delete-module-config` at the command line. |
| |
| [[CHDICIJE]][[GSADG1103]][[to-display-the-current-active-configuration-of-a-module]] |
| |
| ==== To Display the Current Active Configuration of a Module |
| |
| Use the `get-active-module-config` subcommand to display the current |
| active configuration of a module. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Display the current active configuration of a module by using the |
| link:reference-manual/create-jdbc-resource.html#GSRFM00037[`get-active-module-config`] subcommand. |
| |
| [[GSADG1104]][[sthref14]] |
| Example 2-20 Displaying the Current Active Configuration of a Module |
| |
| This example displays the current active configuration of the JMS |
| service in `server-config` (the default configuration). |
| |
| [source] |
| ---- |
| 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. |
| ---- |
| |
| [[GSADG1105]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help get-active-module-config` at the command line. |
| |
| [[gixps]][[GSADG00532]][[administering-resources]] |
| |
| === Administering Resources |
| |
| This section contains instructions for integrating resources into the |
| {productName} environment. Information about administering specific |
| resources, such as JDBC, is contained in other chapters. |
| |
| [[ggoeh]][[GSADG00312]][[to-add-resources-from-an-xml-file]] |
| |
| ==== To Add Resources From an XML File |
| |
| Use the `add-resources` subcommand in remote mode to create the |
| resources named in the specified XML file. The following resources are |
| supported: JDBC connection pool and resource, JMS, JNDI, and JavaMail |
| resources, custom resource, connector resource and work security map, |
| admin object, and resource adapter configuration. |
| |
| The XML file must reside in the domain-dir``/config`` directory. If you |
| specify a relative path or simply provide the name of the XML file, this |
| subcommand will prepend domain-dir``/config`` to this operand. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Add resources from an XML file by using the |
| link:reference-manual/add-resources.html#GSRFM00001[`add-resources`] subcommand. |
| + |
| Information about properties for the subcommand is included in this help |
| page. |
| 3. Restart {productName}. |
| + |
| See link:domains.html#ginqj[To Restart a Domain]. |
| |
| [[GSADG00110]][[ggozc]] |
| Example 2-21 Adding Resources |
| |
| This example creates resources using the contents of the `resource.xml` |
| file on `localhost`. |
| |
| [source] |
| ---- |
| asadmin> add-resources c:\tmp\resource.xml |
| Command : JDBC resource jdbc1 created successfully. |
| Command : JDBC connection pool poolA created successfully. |
| Command add-resources executed successfully. |
| ---- |
| |
| [[GSADG807]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help add-resources` at the command line. |
| |
| [[ggocm]][[GSADG00533]][[listing-various-system-elements]] |
| |
| === Listing Various System Elements |
| |
| The following topics are addressed here: |
| |
| * link:#ghhox[To Display the {productName} Version] |
| * link:#ggocy[To List Applications] |
| * link:#ggocv[To List Containers] |
| * link:#ghlgf[To List Modules] |
| * link:#ggoeg[To List Subcommands] |
| * link:#giojd[To List Timers] |
| * link:#giyjd[To Show Component Status] |
| |
| [[ghhox]][[GSADG00316]][[to-display-the-glassfish-server-version]] |
| |
| ==== To Display the {productName} Version |
| |
| Use the `version` subcommand in remote mode to display information about |
| the {productName} version for a particular server. If the subcommand |
| cannot communicate with the server by using the specified login |
| (user/password) and target (host/port) information, then the local |
| version is displayed along with a warning message. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Display the version by using the link:reference-manual/version.html#GSRFM00261[`version`] |
| subcommand. |
| |
| [[GSADG00114]][[ghjnb]] |
| Example 2-22 Displaying Version Information |
| |
| This example displays the version of {productName} on the local host. |
| |
| [source] |
| ---- |
| asadmin> version |
| Version = Eclipse GlassFish 7.0.0 (build 19) |
| Command version executed successfully. |
| ---- |
| |
| [[GSADG811]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help version` at the command line. |
| |
| [[ggocy]][[GSADG00317]][[to-list-applications]] |
| |
| ==== To List Applications |
| |
| Use the `list-applications` subcommand in remote mode to list the |
| deployed Java applications. If the `--type` option is not specified, all |
| applications are listed. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List applications by using the link:reference-manual/list-applications.html#GSRFM00148[`list-applications`] |
| subcommand. |
| |
| [[GSADG00115]][[ggouk]] |
| Example 2-23 Listing Applications |
| |
| This example lists the web applications on `localhost`. |
| |
| [source] |
| ---- |
| asadmin> list-applications --type web |
| hellojsp <web> |
| Command list-applications executed successfully. |
| ---- |
| |
| [[GSADG812]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help list-applications` at the command line. |
| |
| [[ggocv]][[GSADG00319]][[to-list-containers]] |
| |
| ==== To List Containers |
| |
| Use the `list-containers` subcommand in remote mode to list application |
| containers. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List containers by using the link:reference-manual/list-containers.html#GSRFM00161[`list-containers`] |
| subcommand. |
| |
| [[GSADG00116]][[ggown]] |
| Example 2-24 Listing Containers |
| |
| This example lists the containers on `localhost`. |
| |
| [source] |
| ---- |
| asadmin> list-containers |
| List all known application containers |
| Container : grizzly |
| Container : ejb |
| Container : webservices |
| Container : ear |
| Container : appclient |
| Container : connector |
| Container : jpa |
| Container : web |
| Container : security |
| Container : webbeans |
| Command list-containers executed successfully. |
| ---- |
| |
| [[GSADG813]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help list-containers` at the command line. |
| |
| [[ghlgf]][[GSADG00320]][[to-list-modules]] |
| |
| ==== To List Modules |
| |
| Use the `list-modules` subcommand in remote mode to list the modules |
| that are accessible to the {productName} module subsystem. The status |
| of each module is included. Possible statuses include NEW and READY. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List modules by using the link:reference-manual/list-modules.html#GSRFM00185[`list-modules`] |
| subcommand. |
| |
| [[GSADG00117]][[ghlfw]] |
| Example 2-25 Listing Modules |
| |
| This example lists the accessible modules. |
| |
| [source] |
| ---- |
| asadmin> list-modules |
| ---- |
| |
| Information similar to the following is displayed (partial output): |
| |
| [source] |
| ---- |
| List Of Modules |
| Module : org.glassfish.web.jstl-connector:10.0.0.b28 |
| properties=(visibility=public,State=READY,Sticky=true) |
| Module Characteristics : List of Jars implementing the module |
| Jar : file:/C:/Preview/v3_Preview_release/distributions/web/target/glass |
| fish/modules/web/jstl-connector.jar |
| Module Characteristics : List of imported modules |
| Module Characteristics : Provides to following services |
| Module : org.glassfish.admingui.console-common:10.0.0.b28 |
| properties=(visibility=public,State=NEW,Sticky=true) |
| Module : org.glassfish.admin.launcher:10.0.0.b28 |
| properties=(visibility=public,State=NEW,Sticky=true) |
| Module : org.glassfish.external.commons-codec-repackaged:10.0.0.b28 |
| properties=(visibility=public,State=NEW,Sticky=true) |
| Module : com.sun.enterprise.tiger-types-osgi:0.3.32.Preview-b28 |
| properties=(visibility=public,State=READY,Sticky=true) |
| Module Characteristics : List of imported modules |
| Module Characteristics : Provides to following services |
| Module Characteristics : List of Jars implementing the module |
| Jar : file:/C:/Preview/v3_Preview_release/distributions/web/target/glass |
| fish/modules/tiger-types-osgi.jar. |
| ... |
| Command list-modules executed successfully. |
| ---- |
| |
| [[GSADG814]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help list-modules` at the command line. |
| |
| [[ggoeg]][[GSADG00321]][[to-list-subcommands]] |
| |
| ==== To List Subcommands |
| |
| Use the `list-commands` subcommand in remote mode to list the deployed |
| `asadmin` subcommands. You can specify that only remote subcommands or |
| only local subcommands are listed. By default, this subcommand displays |
| a list of local subcommands followed by a list of remote subcommands. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List subcommands by using the link:reference-manual/list-commands.html#GSRFM00154[`list-commands`] |
| subcommand. |
| |
| [[GSADG00118]][[ggpdl]] |
| Example 2-26 Listing Subcommands |
| |
| This example lists only local subcommands. |
| |
| [source] |
| ---- |
| asadmin> list-commands --localonly |
| create-domain |
| delete-domain |
| list-commands |
| list-domains |
| login |
| monitor |
| start-database |
| start-domain |
| stop-domain |
| stop-database |
| version |
| Command list-commands executed successfully. |
| ---- |
| |
| [[GSADG815]] |
| |
| See Also |
| |
| You can also view the full syntax and options of the subcommand by |
| typing `asadmin help list-commands` at the command line. |
| |
| [[giojd]][[GSADG00322]][[to-list-timers]] |
| |
| ==== To List Timers |
| |
| The timer service is a persistent and transactional notification service |
| that is provided by the enterprise bean container and is used to |
| schedule notifications or events used by enterprise beans. All |
| enterprise beans except stateful session beans can receive notifications |
| from the timer service. Persistent timers set by the service are not |
| destroyed when the server is shut down or restarted. |
| |
| Use the `list-timers` subcommand in remote mode to list the persistent |
| timers owned by a specific server instance. You can use this information |
| to decide whether to do a timer migration, or to verify that a migration |
| has been completed successfully. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. List timers by using the link:reference-manual/list-timers.html#GSRFM00205[`list-timers`] subcommand. |
| |
| [[GSADG00119]][[giojj]] |
| Example 2-27 Listing Timers |
| |
| This example lists the timers in a particular standalone server |
| instance. There is one currently active timer set. |
| |
| [source] |
| ---- |
| asadmin> list-timers server |
| 1 |
| The list-timers command was executed successfully. |
| ---- |
| |
| [[giyjd]][[GSADG00323]][[to-show-component-status]] |
| |
| ==== To Show Component Status |
| |
| Use the `show-component-status` subcommand in remote mode to get the |
| status (either enabled or disabled) of the specified deployed component. |
| |
| 1. Ensure that the server is running. Remote subcommands require a running server. |
| 2. Show component status by using the |
| link:reference-manual/show-component-status.html#GSRFM00232[`show-component-status`] subcommand. |
| |
| [[GSADG00120]][[gjhkk]] |
| Example 2-28 Showing Status of a Component |
| |
| This example shows the status of the `MEjbApp` component. |
| |
| [source] |
| ---- |
| asadmin> show-component-status MEjbApp |
| Status of MEjbApp is enabled |
| Command show-component-status executed successfully. |
| ---- |
| |
| [[gjipx]][[GSADG00534]][[using-rest-interfaces-to-administer-glassfish-server]] |
| |
| === Using REST Interfaces to Administer {productName} |
| |
| {productName} provides representational state transfer (REST) |
| interfaces to enable you to access monitoring and configuration data for |
| {productName}, including data that is provided by newly installed |
| add-on components. |
| |
| You can access the {productName} REST interfaces through client |
| applications such as: |
| |
| * Web browsers |
| * http://curl.haxx.se/[cURL] |
| * http://www.gnu.org/software/wget/[GNU Wget] |
| |
| You can also use the {productName} REST interfaces in REST client |
| applications that are developed in languages such as: |
| |
| * JavaScript |
| * Ruby |
| * Perl |
| * Java |
| * JavaFX |
| |
| The implementation of the {productName} REST interfaces is based on |
| https://eclipse-ee4j.github.io/jersey/[project Jersey]. Project Jersey is the |
| reference implementation of http://jcp.org/en/jsr/summary?id=311[ |
| Java Specification Request (JSR) 311: JAX-RS: The Java API for RESTful Web Services]. |
| Information about JSR 311 is also available from the JSR |
| https://javaee.github.io/jsr311/[311 project home page] . |
| Information about Jakarta RESTful Web Services is here: |
| https://jakarta.ee/specifications/restful-ws/ |
| |
| The following topics are addressed here: |
| |
| * link:#gjipk[Using REST URLs to Administer {productName}] |
| * link:#gjijx[Using REST Resource Methods to Administer {productName}] |
| * link:#gjjdg[Resources for `asadmin` Subcommands That Perform Non-CRUD |
| Operations] |
| * link:#gjiut[Securing {productName} REST Interfaces] |
| * link:#gjijz[Formats for Resource Representation of Configuration |
| Objects] |
| * link:#gkwdd[Formats for Resource Representation of Monitoring Objects] |
| * link:#gkwid[Formats for Resource Representation of Log File Details] |
| * link:#gkwsq[Supported Content Types in Requests to REST Resources] |
| |
| [[gjipk]][[GSADG00707]][[using-rest-urls-to-administer-glassfish-server]] |
| |
| ==== Using REST URLs to Administer {productName} |
| |
| Each object in the configuration and monitoring object trees is |
| represented as a REST resource that is accessible through an HTTP |
| uniform resource locator (URL). Access to REST resources for {productName} monitoring and configuration data requires a running DAS. |
| |
| [[gkwhy]][[GSADG00634]][[rest-urls-to-resources-for-configuration-and-monitoring-objects]] |
| |
| ===== REST URLs to Resources for Configuration and Monitoring Objects |
| |
| The formats of the URLs to resources that represent objects in the |
| configuration and monitoring object trees are as follows: |
| |
| * Configuration: `http://`host`:`port`/management/domain/`path |
| * Monitoring: `http://`host`:`port`/monitoring/domain/`path |
| |
| The replaceable items in these URLs are as follows: |
| |
| host:: |
| The host where the DAS is running. |
| port:: |
| The HTTP port or HTTPS port for administration. |
| path:: |
| The path to the object. The path is the dotted name of the object in |
| which each dot (`.`) is replaced with a slash (`/`). |
| + |
| |
| [NOTE] |
| ==== |
| The path to a {productName} instance is ``servers/server/``instance-name, |
| where instance-name is the name of the instance. |
| For the DAS, instance-name is `server` and the path is `servers/server/server`. |
| ==== |
| |
| For more information, see the following documentation: |
| |
| * The link:reference-manual/dotted-names.html#GSRFM00268[`dotted-names`(5ASC)] help page |
| * link:monitoring.html#ghbaz[How the Monitoring Tree Structure Works] |
| * link:overview.html#giusb[How Dotted Names Work for Configuration] |
| |
| If the URL to a REST resource for {productName} monitoring or |
| configuration data is opened in a web browser, the browser displays a |
| web page that contains the following information about the resource: |
| |
| * A list of the attributes of the resource and their values. If the |
| resource represents an object in the configuration tree, these |
| attributes are presented in an HTML form that you can use to update the |
| resource. Attributes of a resource for an object in the monitoring tree |
| are read only. |
| * A list of hypertext links to the children of the resource. This list |
| of links enables you to traverse the tree that contains the resource and |
| to discover the all resources in the tree. |
| * A list of hypertext links to resources that represent `asadmin` |
| subcommands for non-CRUD operations on the resource. |
| |
| The following figure shows the web page for the REST resource for |
| managing a domain. |
| |
| [[GSADG00001]][[gjjce]] |
| |
| |
| .*Figure 2-1 Web Page for the REST Resource for Managing a Domain* |
| image:img/rest-management.png[ |
| "Screen capture showing the web page for the REST resource for managing a domain."] |
| |
| |
| [[gkwib]][[GSADG00635]][[rest-urls-for-accessing-the-log-file]] |
| |
| ===== REST URLs for Accessing the Log File |
| |
| The `server.log` file of the DAS is represented as a child that is named |
| `view-log` of the resource for managing the domain. A child of the |
| resource for the `server.log` file represents the log file details |
| |
| The formats of the URLs to resources that represent the log file are as |
| follows: |
| |
| * Log file: ``http://``host``:``port``/management/domain/view-log`` |
| * Log file details: ``http://``host``:``port``/monitoring/domain/view-log/details`` |
| |
| The replaceable items in these URLs are as follows: |
| |
| host:: |
| The host where the DAS is running. |
| port:: |
| The HTTP port or HTTPS port for administration. |
| |
| You can use the optional `start` parameter in the URL to the resource |
| for the log file to specify the number of characters at the start of the |
| file to skip. For example, to skip 10,000 characters, specify the URL as |
| `http://localhost:4848/management/domain/view-log?start=10000`. This |
| example assumes that the DAS is running on the local host and uses the |
| default port for administration. |
| |
| The resource for the log file returns the HTTP header |
| `"X-Text-Append-Next"`, which contains the entire URL to pass to the |
| `GET` method to return the changes since the last call. You can use this |
| header in client applications to get all log entries that were added in |
| particular interval. For example, by testing the value of the |
| `"X-Text-Append-Next"` header in a client thread every 10 seconds, you |
| can monitor the log entries that were added in the last 10 seconds. |
| |
| [[gjijx]][[GSADG00708]][[using-rest-resource-methods-to-administer-glassfish-server]] |
| |
| ==== Using REST Resource Methods to Administer {productName} |
| |
| The {productName} REST interfaces support methods for accessing |
| objects in the monitoring and configuration object trees. |
| |
| The following table shows the REST methods for administering monitoring |
| and configuration data and the tasks that you can perform with each |
| method. These methods are HTTP 1.1 primitives. For the detailed |
| specification of these primitives, see |
| http://www.w3.org/Protocols/rfc2616/rfc2616.html[Hypertext Transfer |
| Protocol -- HTTP/1.1] . |
| |
| [[GSADG816]][[sthref16]][[gkame]] |
| |
| |
| Table 2-1 REST Resource Methods for Administering Monitoring and |
| Configuration Data |
| |
| [width="100%",cols="74%,26%",options="header",] |
| |=== |
| |Task |REST Method |
| |Determine the methods and method parameters that an object in the tree |
| supports |`GET` |
| |
| |Retrieve data for an object in the tree |`GET` |
| |
| |Add an object to the tree |`POST` |
| |
| |Update an object in the tree |`POST` |
| |
| |Delete an object from the tree |`DELETE` |
| |=== |
| |
| |
| |
| [NOTE] |
| ==== |
| REST requests that add, update, or delete objects must specify the |
| `X-Requested-By` header with the value `GlassFish REST HTML interface`. |
| |
| The `GET` method determines the methods and method parameters that an |
| object in the tree supports and provides additional information about |
| the object. For details, see link:#gjjel[To Retrieve Data for an Object |
| in the Tree]. |
| ==== |
| |
| |
| [[gjjei]][[GSADG00324]][[to-determine-the-methods-and-method-parameters-that-an-object-in-the-tree-supports]] |
| |
| ===== To Determine the Methods and Method Parameters That an Object in the Tree Supports |
| |
| The methods and method parameters that an object in the tree supports |
| depend on the REST resource that represents the object: |
| |
| * REST resources for monitoring support only the `GET` method. |
| * All REST resources for configuration support the `GET` method. |
| However, only some REST resources for configuration also support the |
| `POST` method and the `DELETE` method. |
| |
| Before performing any operations on an object in the tree, determine the |
| methods and method parameters that the object supports. |
| |
| You can specify the format in which this information is presented. For |
| more information, see link:#gjijz[Formats for Resource Representation of |
| Configuration Objects]. |
| |
| |
| [NOTE] |
| ==== |
| Each `POST` method and `DELETE` method that a REST resource supports has |
| an equivalent `asadmin` subcommand. The parameters of a `POST` method or |
| a `DELETE` method correspond to the options of the method's equivalent |
| `asadmin` subcommand. For information about the options of `asadmin` |
| subcommand, see the olink:GSRFM[{productName} |
| Reference Manual]. |
| ==== |
| |
| |
| 1. Ensure that the server is running. |
| + |
| Operations on REST resources for {productName} data require a running |
| server. |
| 2. Use the `GET` method on the REST resource that represents the |
| object. |
| + |
| The `GET` method returns the list of methods that the resource supports. |
| For each method, the list of acceptable message parameters or the list |
| of acceptable query parameters are returned. |
| |
| [[GSADG00121]][[gjjdi]] |
| Example 2-29 Determining the Methods and Method Parameters That an |
| Object in the Tree Supports |
| |
| This example uses the cURL utility to determine the methods and method |
| parameters that the resource for the node `sj01` supports. The example |
| uses the following options of the cURL utility: |
| |
| * `-X` to specify that the `GET` method is used |
| * `-H` to specify that the resource is represented in JavaScript Object |
| Notation (JSON) |
| |
| In this example, the DAS is running on the local host and the HTTP port |
| for administration is 4848. The resource supports the `GET` method and |
| the `POST` method. |
| |
| Line breaks and white space are added to enhance readability. |
| |
| [source] |
| ---- |
| curl -X GET -H "Accept: application/json" http://localhost:4848/management/domain/nodes/node/sj01 |
| { |
| "command":"Node", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "commands":[ |
| {"path":"_delete-node","command":"delete-node","method":"DELETE"}, |
| {"path":"_update-node","command":"_update-node","method":"POST"}, |
| {"path":"ping-node-ssh","command":"ping-node-ssh","method":"GET"}, |
| {"path":"update-node-ssh","command":"update-node-ssh","method":"POST"}, |
| {"path":"update-node-config","command":"update-node-config","method":"POST"}], |
| "methods":[ |
| {"name":"GET"}, |
| {"name":"POST","messageParameters":{ |
| "installDir":{"optional":"true","type":"string","key":"false"}, |
| "nodeDir":{"optional":"true","type":"string","key":"false"}, |
| "nodeHost":{"optional":"true","type":"string","key":"false"}, |
| "type":{"optional":"true","type":"string","key":"false"} |
| } |
| } |
| ], |
| "entity":{ |
| "installDir":"\/export\/glassfish7", |
| "name":"sj01", |
| "nodeDir":null, |
| "nodeHost": |
| "sj01.example.com", |
| "type":"SSH" |
| }, |
| "childResources":{ |
| "application-ref": |
| "https:\/\/localhost:4848\/management\/domain\/nodes\/node\/sj01\/application-ref", |
| "resource-ref": |
| "https:\/\/localhost:4848\/management\/domain\/nodes\/node\/sj01\/resource-ref", |
| "ssh-connector": |
| "https:\/\/localhost:4848\/management\/domain\/nodes\/node\/sj01\/ssh-connector" |
| } |
| } |
| } |
| ---- |
| |
| [[gjjel]][[GSADG00325]][[to-retrieve-data-for-an-object-in-the-tree]] |
| |
| ===== To Retrieve Data for an Object in the Tree |
| |
| Retrieving data for an object in the tree obtains the following |
| information about the REST resource that represents the object: |
| |
| * A list of the REST methods that the resource supports |
| * A list of the attributes of the resource and their values |
| * A list of URLs to the children of the resource |
| |
| You can specify the format in which this information is presented. For |
| more information, see link:#gjijz[Formats for Resource Representation of |
| Configuration Objects]. |
| |
| 1. Ensure that the server is running. |
| + |
| Operations on REST resources for {productName} data require a running |
| server. |
| 2. Use the `GET` method on the REST resource that represents the |
| object. |
| |
| [[GSADG00122]][[gjjed]] |
| Example 2-30 Retrieving Data for an Object in the Tree |
| |
| This example uses the cURL utility to retrieve data for the resource for |
| a the node `sj01`. The example uses the following options of the cURL |
| utility: |
| |
| * `-X` to specify that the `GET` method is used |
| * `-H` to specify that the resource is represented in JavaScript Object |
| Notation (JSON) |
| |
| In this example, the DAS is running on the local host and the HTTP port |
| for administration is 4848. |
| |
| Line breaks and white space are added to enhance readability. |
| |
| [source] |
| ---- |
| curl -X GET -H "Accept: application/json" http://localhost:4848/management/domain/nodes/node/sj01 |
| { |
| "command":"Node", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "commands":[ |
| {"path":"_delete-node","command":"delete-node","method":"DELETE"}, |
| {"path":"_update-node","command":"_update-node","method":"POST"}, |
| {"path":"ping-node-ssh","command":"ping-node-ssh","method":"GET"}, |
| {"path":"update-node-ssh","command":"update-node-ssh","method":"POST"}, |
| {"path":"update-node-config","command":"update-node-config","method":"POST"}], |
| "methods":[ |
| {"name":"GET"}, |
| {"name":"POST","messageParameters":{ |
| "installDir":{"optional":"true","type":"string","key":"false"}, |
| "nodeDir":{"optional":"true","type":"string","key":"false"}, |
| "nodeHost":{"optional":"true","type":"string","key":"false"}, |
| "type":{"optional":"true","type":"string","key":"false"} |
| } |
| } |
| ], |
| "entity":{ |
| "installDir":"\/export\/glassfish7", |
| "name":"sj01", |
| "nodeDir":null, |
| "nodeHost": |
| "sj01.example.com", |
| "type":"SSH" |
| }, |
| "childResources":{ |
| "application-ref": |
| "https:\/\/localhost:4848\/management\/domain\/nodes\/node\/sj01\/application-ref", |
| "resource-ref": |
| "https:\/\/localhost:4848\/management\/domain\/nodes\/node\/sj01\/resource-ref", |
| "ssh-connector": |
| "https:\/\/localhost:4848\/management\/domain\/nodes\/node\/sj01\/ssh-connector" |
| } |
| } |
| } |
| ---- |
| |
| [[gjjdv]][[GSADG00326]][[to-add-an-object-to-the-tree]] |
| |
| ===== To Add an Object to the Tree |
| |
| 1. Ensure that the server is running. |
| + |
| Operations on REST resources for {productName} data require a running |
| server. |
| 2. Determine the acceptable message parameters for the `POST` method of |
| the resource that represents the parent of the object. |
| + |
| For information about how to perform this step, see link:#gjjei[To |
| Determine the Methods and Method Parameters That an Object in the Tree |
| Supports]. |
| 3. Use the `POST` method on the REST resource that represents the |
| parent of the object that you are adding. |
| 4. Confirm that the object has been added. |
| + |
| Perform this step on the resource that represents the object that you |
| have just added, not the parent. For information about how to perform |
| this step, see link:#gjjel[To Retrieve Data for an Object in the Tree]. |
| |
| [[GSADG00123]][[gjjen]] |
| Example 2-31 Adding an Object to the Tree |
| |
| This example uses the cURL utility to add a JDBC resource object to the |
| tree by creating a REST resource to represent the JDBC resource. |
| |
| In this example, the DAS is running on the local host and the HTTP port |
| for administration is 4848. |
| |
| Line breaks are added to enhance readability. |
| |
| 1. This step determines the acceptable message parameters for the |
| `POST` method of the resource `jdbc-resource`. |
| + |
| [source] |
| ---- |
| curl -X GET -H "Accept: application/json" |
| http://localhost:4848/management/domain/resources/jdbc-resource |
| { |
| "command":"Jdbc-resource", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "commands":[], |
| "methods":[ |
| {"name":"GET"}, |
| {"name":"POST","messageParameters":{ |
| "description":{"acceptableValues":"","optional":"true","type":"string","defaultValue":""}, |
| "enabled":{"acceptableValues":"",optional":"true","type":"boolean",defaultValue":"true"}, |
| "id":{"acceptableValues":"","optional":"false","type":"string","defaultValue":""}, |
| "poolName":{"acceptableValues":"","optional":"false","type":"string","defaultValue":""}, |
| "property":{"acceptableValues":"","optional":"true","type":"string","defaultValue":"}, |
| "target":{"acceptableValues":"","optional":"true","type":"string","defaultValue":""} |
| } |
| } |
| ], |
| "childResources":{ |
| "jdbc\/__TimerPool": |
| "https:\/\/localhost:4848\/management\/domain\/resources\/jdbc-resource\/jdbc%2F__TimerPool", |
| "jdbc\/__default": |
| "https:\/\/localhost:4848\/management\/domain\/resources\/jdbc-resource\/jdbc%2F__default" |
| } |
| } |
| } |
| ---- |
| 2. This step adds a resource as a child of the `jdbc-resource` |
| resource. The `-d` option of the cURL utility sets the required message |
| parameters as follows: |
| + |
| * `id` is set to `jdbc/myjdbcresource`. |
| * `connectionpoolid` is set to `DerbyPool`. |
| + |
| [source] |
| ---- |
| curl -X POST -H "X-Requested-By: GlassFish REST HTML interface" |
| -d id=jdbc/myjdbcresource -d connectionpoolid=DerbyPool |
| http://localhost:4848/management/domain/resources/jdbc-resource |
| ---- |
| |
| 3. This step confirms that the object has been added by retrieving data |
| for the REST resource that represents the object. |
| + |
| [source] |
| ---- |
| curl -X GET -H "Accept: application/json" |
| http://localhost:4848/management/domain/resources/ |
| jdbc-resource/jdbc%2Fmyjdbcresource |
| { |
| "command":"Jdbc-resource", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "commands":[], |
| "methods":[ |
| {"name":"GET"}, |
| {"name":"POST","messageParameters":{ |
| "description":{"optional":"true","type":"string","key":"false"}, |
| "enabled":{"optional":"true","type":"boolean","defaultValue":"true","key":"false"}, |
| "jndiName":{"optional":"true","type":"string","key":"true"}, |
| "objectType":{"optional":"true","type":"string","defaultValue":"user","key":"false"}, |
| "poolName":{"optional":"true","type":"string","key":"false"} |
| } |
| }, |
| {"name":"DELETE","messageParameters":{ |
| "target":{"acceptableValues":"","optional":"true","type":"string","defaultValue":""} |
| } |
| } |
| ], |
| "childResources":{ |
| "property": |
| "https:\/\/localhost:4848\/management\/domain\/resources\/jdbc-resource\/jdbc%2Fmyjdbcresource\/property" |
| } |
| } |
| } |
| ---- |
| |
| [[gjjgj]][[GSADG00327]][[to-update-an-object-in-the-tree]] |
| |
| ===== To Update an Object in the Tree |
| |
| 1. Ensure that the server is running. |
| Operations on REST resources for {productName} data require a running server. |
| |
| 2. Determine the acceptable message parameters for the `POST` method of |
| the resource that represents the object. |
| For information about how to perform this step, |
| see link:#gjjei[To Determine the Methods and Method Parameters That an Object in the Tree Supports]. |
| |
| 3. Use the `POST` method on the REST resource that represents the |
| object that you are updating. |
| |
| 4. Confirm that the object has been updated. |
| For information about how to perform this step, see link:#gjjel[To Retrieve Data for an Object in the Tree]. |
| |
| [[GSADG00124]][[gjjhd]] |
| Example 2-32 Updating an Object in the Tree |
| |
| This example uses the cURL utility to update a JDBC resource in the tree |
| by modifying the REST resource that represents the JDBC resource. |
| |
| In this example, the DAS is running on the local host and the HTTP port |
| for administration is 4848. |
| |
| Line breaks are added to enhance readability. |
| |
| 1. This step determines the acceptable message parameters for the |
| `POST` method of the resource `jdbc-myjdbcresource`. |
| + |
| [source] |
| ---- |
| curl -X OPTIONS -H "Accept: application/json" |
| http://localhost:4848/management/domain/resources/ |
| jdbc-resource/jdbc-myjdbcresource |
| { |
| "command":"Jdbc-resource", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "commands":[], |
| "methods":[ |
| {"name":"GET"}, |
| {"name":"POST","messageParameters":{ |
| "description":{"optional":"true","type":"string","key":"false"}, |
| "enabled":{"optional":"true","type":"boolean","defaultValue":"true","key":"false"}, |
| "jndiName":{"optional":"true","type":"string","key":"true"}, |
| "objectType":{"optional":"true","type":"string","defaultValue":"user","key":"false"}, |
| "poolName":{"optional":"true","type":"string","key":"false"} |
| } |
| }, |
| {"name":"DELETE","messageParameters":{ |
| "target":{"acceptableValues":"","optional":"true","type":"string","defaultValue":""} |
| } |
| } |
| ], |
| "childResources":{ |
| "property": |
| "https:\/\/localhost:4848\/management\/domain\/resources\/jdbc-resource\/jdbc%2Fmyjdbcresource\/property" |
| } |
| } |
| } |
| ---- |
| 2. This step updates the REST resource `jdbc-myjdbcresource` to disable |
| the JDBC resource that `jdbc-myjdbcresource` represents. The `-d` option |
| of the cURL utility sets the `enabled` message parameter to `disabled`. |
| + |
| [source] |
| ---- |
| curl -X POST -H "X-Requested-By: GlassFish REST HTML interface" |
| -d "enabled=false" http://localhost:4848/management/domain/resources/ |
| jdbc-resource/jdbc%2Fmyjdbcresource |
| ---- |
| 3. This step confirms that the object has been updated by retrieving |
| data for the REST resource that represents the object. |
| + |
| [source] |
| ---- |
| curl -X GET -H "Accept: application/json" |
| http://localhost:4848/management/domain/resources/ |
| jdbc-resource/jdbc%2Fmyjdbcresource |
| { |
| "command":"Jdbc-resource", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "commands":[], |
| "methods":[ |
| {"name":"GET"}, |
| {"name":"POST","messageParameters":{ |
| "description":{"optional":"true","type":"string","key":"false"}, |
| "enabled":{"optional":"true","type":"boolean","defaultValue":"true","key":"false"}, |
| "jndiName":{"optional":"true","type":"string","key":"true"}, |
| "objectType":{"optional":"true","type":"string","defaultValue": |
| "user","key":"false"}, |
| "poolName":{"optional":"true","type":"string","key":"false"} |
| } |
| }, |
| {"name":"DELETE","messageParameters":{ |
| "target":{"acceptableValues":"","optional":"true","type":"string","defaultValue":""} |
| } |
| } |
| ], |
| "entity":{ |
| "description":null, |
| "enabled":"false", |
| "jndiName":"jdbc\/myjdbcresource", |
| "objectType": |
| "user", |
| "poolName":"DerbyPool" |
| }, |
| "childResources":{ |
| "property": |
| "https:\/\/localhost:4848\/management\/domain\/resources\/jdbc-resource\/ |
| jdbc%2Fmyjdbcresource\/property" |
| } |
| } |
| } |
| ---- |
| |
| [[gjjgm]][[GSADG00328]][[to-delete-an-object-from-the-tree]] |
| |
| ===== To Delete an Object From the Tree |
| |
| 1. Ensure that the server is running. |
| + |
| Operations on REST resources for {productName} data require a running |
| server. |
| 2. Confirm that the object can be deleted. |
| + |
| For information about how to perform this step, see link:#gjjei[To |
| Determine the Methods and Method Parameters That an Object in the Tree |
| Supports]. |
| 3. Confirm that the object has been deleted. |
| + |
| Perform this step on the resource that represents the parent of the |
| object that you have just deleted. For information about how to perform |
| this step, see link:#gjjel[To Retrieve Data for an Object in the Tree]. |
| |
| [[GSADG00125]][[gjjgp]] |
| Example 2-33 Deleting an Object From the Tree |
| |
| This example uses the cURL utility to delete a JDBC resource from the |
| tree by deleting the REST resource that represents the JDBC resource. |
| |
| In this example, the DAS is running on the local host and the HTTP port |
| for administration is 4848. |
| |
| Line breaks and white space are added to enhance readability. |
| |
| 1. This step confirms that the object can be deleted by retrieving the |
| REST methods that the resource `jdbc-myjdbcresource` supports. |
| + |
| [source] |
| ---- |
| curl -X GET -H "Accept: application/json" |
| http://localhost:4848/management/domain/resources/ |
| jdbc-resource/jdbc%2Fmyjdbcresource |
| { |
| "command":"Jdbc-resource", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "commands":[], |
| "methods":[ |
| {"name":"GET"}, |
| {"name":"POST","messageParameters":{ |
| "description":{"optional":"true","type":"string","key":"false"}, |
| "enabled":{"optional":"true","type":"boolean","defaultValue":"true","key":"false"}, |
| "jndiName":{"optional":"true","type":"string","key":"true"}, |
| "objectType":{"optional":"true","type":"string","defaultValue":"user","key":"false"}, |
| "poolName":{"optional":"true","type":"string","key":"false"} |
| } |
| }, |
| {"name":"DELETE","messageParameters":{ |
| "target":{"acceptableValues":"","optional":"true","type":"string","defaultValue":""} |
| } |
| } |
| ], |
| "childResources":{ |
| "property": |
| "https:\/\/localhost:4848\/management\/domain\/resources\/jdbc-resource\/ |
| jdbc%2Fmyjdbcresource\/property" |
| } |
| } |
| } |
| ---- |
| 2. This step deletes the `jdbc/myjdbcresource` resource. |
| + |
| [source] |
| ---- |
| curl -X DELETE -H "X-Requested-By: GlassFish REST HTML interface" |
| http://localhost:4848/management/domain/resources/ |
| jdbc-resource/jdbc%2Fmyjdbcresource |
| ---- |
| 3. This step confirms that the object has been deleted by retrieving |
| data for the REST resource that represents the parent of the object. |
| + |
| [source] |
| ---- |
| curl -X GET -H "Accept: application/json" |
| http://localhost:4848/management/domain/resources/jdbc-resource |
| { |
| "command":"Jdbc-resource", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "commands":[], |
| "methods":[ |
| {"name":"GET"}, |
| {"name":"POST","messageParameters":{ |
| "description":{"acceptableValues":"","optional":"true","type":"string","defaultValue":""}, |
| "enabled":{"acceptableValues":"",optional":"true","type":"boolean",defaultValue":"true"}, |
| "id":{"acceptableValues":"","optional":"false","type":"string","defaultValue":""}, |
| "poolName":{"acceptableValues":"","optional":"false","type":"string","defaultValue":""}, |
| "property":{"acceptableValues":"","optional":"true","type":"string","defaultValue":"}, |
| "target":{"acceptableValues":"","optional":"true","type":"string","defaultValue":""} |
| } |
| } |
| ], |
| "childResources":{ |
| "jdbc\/__TimerPool": |
| "https:\/\/localhost:4848\/management\/domain\/resources\/jdbc-resource\/jdbc%2F__TimerPool", |
| "jdbc\/__default": |
| "https:\/\/localhost:4848\/management\/domain\/resources\/jdbc-resource\/jdbc%2F__default" |
| } |
| } |
| } |
| ---- |
| |
| [[gjjdg]][[GSADG00709]][[resources-for-asadmin-subcommands-that-perform-non-crud-operations]] |
| |
| ==== Resources for `asadmin` Subcommands That Perform Non-CRUD Operations |
| |
| The {productName} REST interfaces also support operations other than |
| create, read, update, and delete (CRUD) operations, for example: |
| |
| * State management |
| * Queries |
| * Application deployment |
| |
| These operations are supported through REST resources that represent the |
| `asadmin` subcommands for performing these operations. Each resource is |
| a child of the resource on which the operation is performed. The child |
| resources do not represent objects in the configuration object tree. |
| |
| For example, the resource that represents a node provides child |
| resources for the following `asadmin` subcommands that perform non-CRUD |
| operations on the node: |
| |
| * `ping-node-ssh` |
| * `update-node-config` |
| * `update-node-ssh` |
| |
| [[gjiut]][[GSADG00710]][[securing-glassfish-server-rest-interfaces]] |
| |
| ==== Securing {productName} REST Interfaces |
| |
| The {productName} REST interfaces support the following |
| authentication schemes for securing the REST interfaces: |
| |
| * Basic authentication over a secure connection |
| * Authentication by using session tokens |
| |
| When security is enabled, you must specify `https` as the protocol in |
| the URLs to REST resources and provide a user name and password. |
| |
| [[GSADG817]][[sthref17]] |
| |
| |
| [[setting-up-basic-authentication-over-a-secure-connection]] |
| ===== Setting Up Basic Authentication Over a Secure Connection |
| |
| Setting up basic authentication over a secure connection to secure |
| {productName} REST interfaces involves the following sequence of |
| tasks: |
| |
| 1. Adding an `admin-realm` user to the `asadmin` user group |
| 2. Enabling Secure Sockets Layer (SSL) |
| |
| For information about how to perform these tasks from the command line, |
| see the following documentation: |
| |
| * "link:security-guide/user-security.html#GSSCG00110[To Create an Authentication Realm]" in {productName} Security Guide |
| * "link:security-guide/user-security.html#GSSCG00118[To Create a File User]" in {productName} Security Guide |
| * link:http_https.html#ggnbj[To Configure an HTTP Listener for SSL] |
| |
| For information about how to perform these tasks by using the |
| Administration Console, see the following topics in the Administration |
| Console online help: |
| |
| * To Add a User to the Admin Realm |
| * To Edit SSL Settings for a Protocol |
| |
| [[gkvtj]][[GSADG00329]][[to-secure-rest-interfaces-by-using-session-tokens]] |
| |
| ===== To Secure REST Interfaces by Using Session Tokens |
| |
| Basic authentication requires a REST client to cache a user's |
| credentials to enable the client to pass the credentials with each |
| request. If you require a REST client not to cache credentials, your |
| client must use session tokens for authentication. |
| |
| 1. Request a session token by using the `GET` method on the resource at |
| `http://`host`:`port`/management/sessions`. |
| {productName} uses basic authentication to authenticate the client, |
| generates a session token, and passes the token to the client. |
| |
| 2. In each subsequent request that requires authentication, use the |
| token to authenticate the client. |
| .. Create a cookie that is named `gfresttoken` the value of which is the token. |
| .. Send the cookie with the request. |
| .. When the token is no longer required, retire the token by using the |
| `DELETE` method on the resource at |
| `http://`host`:`port`/management/sessions/{`tokenvalue`}`. |
| + |
| [NOTE] |
| ==== |
| If a client does not explicitly retire a token, the token is retired |
| after 30 minutes of inactivity. |
| ==== |
| |
| |
| [[gjijz]][[GSADG00711]][[formats-for-resource-representation-of-configuration-objects]] |
| |
| ==== Formats for Resource Representation of Configuration Objects |
| |
| The {productName} REST interfaces represent resources for |
| configuration objects in the following formats: |
| |
| * http://www.json.org/[JSON] |
| * XML |
| * HTML |
| |
| {productName} enables you to specify the resource representation |
| through the filename extension in the URL or through the HTTP header: |
| |
| * To specify the resource representation through the filename extension |
| in the URL, specify the appropriate extension as follows: |
| |
| ** For JSON, specify the `.json` extension. |
| |
| ** For XML, specify the `.xml` extension. |
| |
| ** For HTML, omit the extension. |
| * How to specify the resource representation through the HTTP header |
| depends on the client that you are using to access the resource. For |
| example, if you are using the cURL utility, specify the resource |
| representation through the `-H` option as follows: |
| |
| ** For JSON, specify `-H "Accept: application/json"`. |
| |
| ** For XML, specify `-H "Accept: application/xml"`. |
| |
| ** For HTML, omit the `-H` option. |
| |
| [[gjiji]][[GSADG00636]][[json-resource-representation-for-configuration-objects]] |
| |
| ===== JSON Resource Representation for Configuration Objects |
| |
| The general format for the JSON representation of a resource for a |
| configuration object is as follows: |
| |
| [source,json] |
| ---- |
| { |
| "command":"resource", |
| "exit_code":"code", |
| "extraProperties":{ |
| "commands":[command-list], |
| "methods":[method-list], |
| "entity":{attributes}, |
| "childResources":{children} |
| } |
| } |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| resource:: |
| The name of the resource. |
| code:: |
| The result of the attempt to get the resource. |
| command-list:: |
| One or more metadata sets separated by a comma (`,`) that represent |
| the `asadmin` subcommands for performing non—CRUD operations on the |
| resource. For the format of each metadata set, see link:#gkvyr[JSON |
| Representation of a Command in a Command List]. |
| method-list:: |
| One or more metadata sets separated by a comma (`,`) that represent |
| the methods that the resource supports. For the format of each |
| metadata set, see link:#gjjas[JSON Representation of a Method in a |
| Method List]. |
| attributes:: |
| Zero or more name-value pairs separated by a comma (`,`). Each |
| name-value pair is specified as `"`name`":`value. |
| children:: |
| Zero or more child resources separated by a comma (`,`). Each child |
| resource is specified as "resource-name":"url". |
| + |
| resource-name;; |
| The name of the resource as displayed in client applications that |
| access the parent of the resource. |
| url;; |
| The URL to the child resource. |
| |
| |
| [[gkvyr]][[GSADG00024]][[json-representation-of-a-command-in-a-command-list]] |
| |
| JSON Representation of a Command in a Command List |
| |
| The JSON representation of a command in a command list is as follows: |
| |
| [source,json] |
| ---- |
| { |
| "path":"command-path", |
| "command":"command-name", |
| "method":"rest-method" |
| } |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| command-path:: |
| The relative path to REST resource that represents the command. This |
| path is relative to the URL of the REST resource that is the parent of |
| the resource that represents the command. |
| command-name:: |
| The name of the command as displayed in client applications that |
| access the resource. |
| rest-method:: |
| The REST resource method that the command invokes when the command is |
| run. The method is `GET`, `POST`, or `DELETE`. |
| |
| [[gjjas]][[GSADG00025]][[json-representation-of-a-method-in-a-method-list]] |
| |
| JSON Representation of a Method in a Method List |
| |
| The JSON representation of a method in a method list is as follows: |
| |
| [source,json] |
| ---- |
| { |
| "name":"method-name", |
| "messageParameters":{ |
| message-parameter-list |
| } |
| "queryParameters":{ |
| queryparameter- list |
| } |
| } |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| method-name:: |
| The name of the method, which is `GET`, `POST`, or `DELETE`. |
| message-parameter-list:: |
| Zero or more metadata sets separated by a comma (`,`) that represent |
| the message parameters that are allowed for the method. For the format |
| of each metadata set, see link:#gjjbb[JSON Representation of a Message |
| Parameter or a Query Parameter]. |
| query-parameter-list:: |
| Zero or more metadata sets separated by a comma (`,`) that represent |
| the query parameters that are allowed for the method. For the format |
| of each metadata set, see link:#gjjbb[JSON Representation of a Message |
| Parameter or a Query Parameter]. |
| |
| [[gjjbb]][[GSADG00026]][[json-representation-of-a-message-parameter-or-a-query-parameter]] |
| |
| JSON Representation of a Message Parameter or a Query Parameter |
| |
| The JSON representation of a message parameter or a query parameter is |
| as follows: |
| |
| [source,json] |
| ---- |
| "parameter-name":{attribute-list} |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| parameter-name:: |
| The name of the parameter. |
| attribute-list:: |
| A comma-separated list of name-value pairs of attributes for the |
| parameter. Each pair is in the following format: |
| + |
| [source,json] |
| ---- |
| "name":"value" |
| ---- |
| Possible attributes are as follows: |
| + |
| `defaultValue`;; |
| The default value of the parameter. |
| `acceptableValues`;; |
| The set or range of acceptable values for the parameter. |
| `type`;; |
| The data type of the parameter, which is one of the following types: |
| + |
| * `boolean` |
| * `int` |
| * `string` |
| `optional`;; |
| Indicates whether the parameter is optional. If `true`, the |
| parameter is optional. If `false`, the parameter is required. |
| `key`;; |
| Indicates whether the parameter is key. If `true`, the parameter is |
| key. If `false`, the parameter is not key. |
| |
| [[gjjgg]][[GSADG00027]][[example-json-resource-representation-for-a-configuration-object]] |
| |
| Example JSON Resource Representation for a Configuration Object |
| |
| This example shows the JSON representation of the resource for the node |
| `sj01`. In this example, the DAS is running on the local host and the |
| HTTP port for administration is 4848. The URL to the resource in this |
| example is `http://localhost:4848/management/domain/nodes/node/sj01`. |
| |
| Line breaks and white space are added to enhance readability. |
| |
| [source,json] |
| ---- |
| { |
| "command":"Node", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "commands":[ |
| {"path":"_delete-node","command":"delete-node","method":"DELETE"}, |
| {"path":"_update-node","command":"_update-node","method":"POST"}, |
| {"path":"ping-node-ssh","command":"ping-node-ssh","method":"GET"}, |
| {"path":"update-node-ssh","command":"update-node-ssh","method":"POST"}, |
| {"path":"update-node-config","command":"update-node-config","method":"POST"}], |
| "methods":[ |
| {"name":"GET"}, |
| {"name":"POST","messageParameters":{ |
| "installDir":{"optional":"true","type":"string","key":"false"}, |
| "nodeDir":{"optional":"true","type":"string","key":"false"}, |
| "nodeHost":{"optional":"true","type":"string","key":"false"}, |
| "type":{"optional":"true","type":"string","key":"false"} |
| } |
| } |
| ], |
| "entity":{ |
| "installDir":"\/export\/glassfish7", |
| "name":"sj01", |
| "nodeDir":null, |
| "nodeHost": |
| "sj01.example.com", |
| "type":"SSH" |
| }, |
| "childResources":{ |
| "application-ref": |
| "https:\/\/localhost:4848\/management\/domain\/nodes\/node\/sj01\/application-ref", |
| "resource-ref": |
| "https:\/\/localhost:4848\/management\/domain\/nodes\/node\/sj01\/resource-ref", |
| "ssh-connector": |
| "https:\/\/localhost:4848\/management\/domain\/nodes\/node\/sj01\/ssh-connector" |
| } |
| } |
| } |
| ---- |
| |
| [[gkvzs]][[GSADG00637]][[xml-resource-representation-for-configuration-objects]] |
| |
| ===== XML Resource Representation for Configuration Objects |
| |
| The general format for the XML representation of a resource for a |
| configuration object is as follows: |
| |
| [source,xml] |
| ---- |
| <map> |
| <entry key="extraProperties"> |
| <map> |
| <entry key="methods"> |
| <list> |
| methods |
| </list> |
| </entry> |
| <entry key="entity"> |
| <map> |
| attributes |
| </map> |
| </entry> |
| <entry key="commands"> |
| <list> |
| commands |
| </list> |
| </entry> |
| <entry key="childResources"> |
| <map> |
| children |
| </map> |
| </entry> |
| </map> |
| </entry> |
| <entry key="message"></entry> |
| <entry key="exit_code" value="code"></entry> |
| <entry key="command" value="resource"></entry> |
| </map> |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| methods:: |
| One or more XML elements that represent the methods that the resource |
| supports. For the format of each element, see link:#gjizh[XML |
| Representation of a Resource Method]. |
| attributes:: |
| Zero or more XML elements that represent the attributes of the |
| resource. Each element specifies a name-value pair as follows: |
| + |
| [source,xml] |
| ---- |
| <entry key="name" value="value"></entry> |
| ---- |
| commands:: |
| One or more XML elements that represent the `asadmin` subcommands for |
| performing non—CRUD operations on the resource. For the format of each |
| element, see link:#gkwaw[XML Representation of a Command]. |
| children:: |
| Zero or more XML elements that represent the children of the resource. |
| Each element is specified as follows: |
| + |
| [source,xml] |
| ---- |
| <entry key="resource-name" value="url"></entry> |
| ---- |
| resource-name;; |
| The name of the resource as displayed in client applications that |
| access the parent of the resource. |
| url;; |
| The URL to the child resource. |
| code:: |
| The result of the attempt to get the resource. |
| resource:: |
| The name of the resource. |
| |
| [[gjizh]][[GSADG00028]][[xml-representation-of-a-resource-method]] |
| |
| XML Representation of a Resource Method |
| |
| The XML representation of a method in a method list is as follows: |
| |
| [source,xml] |
| ---- |
| <map> |
| <entry key="name" value="method-name"></entry> |
| <entry key="messageParameters"> |
| message-parameter-list |
| </entry> |
| <entry key="queryParameters"> |
| message-parameter-list |
| </entry> |
| </map> |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| method-name:: |
| The name of the method, which is `GET`, `POST`, or `DELETE`. |
| message-parameter-list:: |
| Zero or more XML elements that represent the message parameters that |
| are allowed for the method. For the format of each element, see |
| link:#gjizn[XML Representation of a Message Parameter or a Query |
| Parameter]. |
| query-parameter-list:: |
| Zero or more XML elements that represent the query parameters that are |
| allowed for the method. For the format of each element, see |
| link:#gjizn[XML Representation of a Message Parameter or a Query |
| Parameter]. |
| |
| [[gkwaw]][[GSADG00029]][[xml-representation-of-a-command]] |
| |
| XML Representation of a Command |
| |
| The XML representation of a command is as follows: |
| |
| [source,xml] |
| ---- |
| <map> |
| <entry key="command" value="command-name"></entry> |
| <entry key="path" value="command-path"></entry> |
| <entry key="method" value="rest-method"></entry> |
| </map> |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| command-name:: |
| The name of the command as displayed in client applications that |
| access the resource. |
| command-path:: |
| The relative path to REST resource that represents the command. This |
| path is relative to the URL of the REST resource that is the parent of |
| the resource that represents the command. |
| rest-method:: |
| The REST resource method that the command invokes when the command is |
| run. The method is `GET`, `POST`, or `DELETE`. |
| |
| [[gjizn]][[GSADG00030]][[xml-representation-of-a-message-parameter-or-a-query-parameter]] |
| |
| XML Representation of a Message Parameter or a Query Parameter |
| |
| The XML representation of a message parameter or a query parameter is as |
| follows: |
| |
| [source,xml] |
| ---- |
| <map> |
| <entry key="parameter-name"> |
| <map> |
| attributes |
| </map> |
| </entry> |
| </map> |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| parameter-name:: |
| The name of the parameter. |
| attributes:: |
| One or more XML elements that represent the attributes for the |
| parameter. Each element specifies a name-value pair as follows: |
| + |
| [source,xml] |
| ---- |
| <entry key="name" value="value"></entry> |
| ---- |
| Possible attributes are as follows: |
| + |
| `defaultValue`;; |
| The default value of the parameter. |
| `acceptablevalues`;; |
| The set or range of acceptable values for the parameter. |
| `type`;; |
| The data type of the parameter, which is one of the following types: |
| + |
| * `boolean` |
| * `int` |
| * `string` |
| `optional`;; |
| Indicates whether the parameter is optional. If `true`, the |
| parameter is optional. If `false`, the parameter is required. |
| `key`;; |
| Indicates whether the parameter is key. If `true`, the parameter is |
| key. If `false`, the parameter is not key. |
| |
| [[gjjgi]][[GSADG00031]][[example-xml-resource-representation]] |
| |
| Example XML Resource Representation |
| |
| This example shows the XML representation of the resource for the node |
| `sj01`. In this example, the DAS is running on the local host and the |
| HTTP port for administration is 4848. The URL to the resource in this |
| example is `http://localhost:4848/management/domain/nodes/node/sj01`. |
| |
| Line breaks and white space are added to enhance readability. |
| |
| [source,xml] |
| ---- |
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <map> |
| <entry key="extraProperties"> |
| <map> |
| <entry key="methods"> |
| <list> |
| <map> |
| <entry key="name" value="GET"/> |
| </map> |
| <map> |
| <entry key="name" value="POST"/> |
| <entry key="messageParameters"> |
| <map> |
| <entry key="installDir"> |
| <map> |
| <entry key="optional" value="true"/> |
| <entry key="type" value="string"/> |
| <entry key="key" value="false"/> |
| </map> |
| </entry> |
| <entry key="nodeDir"> |
| <map> |
| <entry key="optional" value="true"/> |
| <entry key="type" value="string"/> |
| <entry key="key" value="false"/> |
| </map> |
| </entry> |
| <entry key="type"> |
| <map> |
| <entry key="optional" value="true"/> |
| <entry key="type" value="string"/> |
| <entry key="key" value="false"/> |
| </map> |
| </entry> |
| <entry key="nodeHost"> |
| <map> |
| <entry key="optional" value="true"/> |
| <entry key="type" value="string"/> |
| <entry key="key" value="false"/> |
| </map> |
| </entry> |
| </map> |
| </entry> |
| </map> |
| </list> |
| </entry> |
| <entry key="entity"> |
| <map> |
| <entry key="installDir" value="/export/glassfish7"/> |
| <entry key="name" value="sj01"/> |
| <entry key="nodeDir" value=""/> |
| <entry key="type" value="SSH"/> |
| <entry key="nodeHost" value="sj01example.com"/> |
| </map> |
| </entry> |
| <entry key="commands"> |
| <list> |
| <map> |
| <entry key="command" value="delete-node"/> |
| <entry key="path" value="_delete-node"/> |
| <entry key="method" value="DELETE"/> |
| </map> |
| <map> |
| <entry key="command" value="_update-node"/> |
| <entry key="path" value="_update-node"/> |
| <entry key="method" value="POST"/> |
| </map> |
| <map> |
| <entry key="command" value="ping-node-ssh"/> |
| <entry key="path" value="ping-node-ssh"/> |
| <entry key="method" value="GET"/> |
| </map> |
| <map> |
| <entry key="command" value="update-node-ssh"/> |
| <entry key="path" value="update-node-ssh"/> |
| <entry key="method" value="POST"/> |
| </map> |
| <map> |
| <entry key="command" value="update-node-config"/> |
| <entry key="path" value="update-node-config"/> |
| <entry key="method" value="POST"/> |
| </map> |
| </list> |
| </entry> |
| <entry key="childResources"> |
| <map> |
| <entry key="application-ref" |
| value="https://localhost:4848/management/domain/nodes/node/sj01/application-ref"/> |
| <entry key="ssh-connector" |
| value="https://localhost:4848/management/domain/nodes/node/sj01/ssh-connector"/> |
| <entry key="resource-ref" |
| value="https://localhost:4848/management/domain/nodes/node/sj01/resource-ref"/> |
| </map> |
| </entry> |
| </map> |
| </entry> |
| <entry key="message"/> |
| <entry key="exit_code" value="SUCCESS"/> |
| <entry key="command" value="Node"/> |
| </map> |
| ---- |
| |
| [[gjipm]][[GSADG00638]][[html-resource-representation-for-configuration-objects]] |
| |
| ===== HTML Resource Representation for Configuration Objects |
| |
| The format for the HTML representation of a resource for a configuration |
| object is a web page that provides the following information about the |
| resource: |
| |
| * A list of the attributes of the resource and their values. |
| * A list of the methods and method parameters that the resource |
| supports. Each method and its parameters are presented as a field of the |
| appropriate type in an HTML form. |
| * A list of hypertext links to the children of the resource. |
| * A list of hypertext links to resources that represent `asadmin` |
| subcommands for non-CRUD operations on the resource. |
| |
| For a sample web page, see link:#gjjce[Figure 2-1]. In this example, the |
| DAS is running on the local host and the HTTP port for administration is |
| 4848. The URL to the resource in this example is |
| `http://localhost:4848/management/domain/nodes/node/sj01`. |
| |
| [[gkwdd]][[GSADG00712]][[formats-for-resource-representation-of-monitoring-objects]] |
| |
| ==== Formats for Resource Representation of Monitoring Objects |
| |
| The {productName} REST interfaces represent resources for monitoring |
| data in the following formats: |
| |
| * http://www.json.org/[JSON] |
| * XML |
| * HTML |
| |
| [[gkwgi]][[GSADG00639]][[json-resource-representation-for-monitoring-objects]] |
| |
| ===== JSON Resource Representation for Monitoring Objects |
| |
| The general format for the JSON representation of a resource for a |
| monitoring object is as follows: |
| |
| [source,json] |
| ---- |
| { |
| "message":"", |
| "command":"Monitoring Data", |
| "exit_code":"code", |
| "extraProperties":{ |
| "entity":{ |
| statistics-list |
| }, |
| "childResources":{ |
| children |
| } |
| } |
| } |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| code:: |
| The result of the attempt to get the resource. |
| statistics-list:: |
| Zero or more metadata sets separated by a comma (`,`) that represent |
| the statistics that the monitoring object provides. For the format of |
| each metadata set, see link:#gkwkl[JSON Representation of a Statistic |
| in a Statistics List]. |
| children:: |
| Zero or more child resources separated by a comma (`,`). Each child |
| resource is specified as "resource-name":"url". |
| + |
| resource-name;; |
| The name of the resource as displayed in client applications that |
| access the parent of the resource. |
| url;; |
| The URL to the child resource. |
| |
| [[gkwkl]][[GSADG00032]][[json-representation-of-a-statistic-in-a-statistics-list]] |
| |
| JSON Representation of a Statistic in a Statistics List |
| |
| The JSON representation of a counter statistic in a statistics list is |
| as follows: |
| |
| [source,json] |
| ---- |
| "statistic":{ |
| "count":count, |
| "lastsampletime":last-sample-time, |
| "description":"description", |
| "unit":"unit", |
| "name":"name", |
| "starttime":start-time |
| } |
| ---- |
| |
| The JSON representation of a range statistic in a statistics list is as |
| follows: |
| |
| [source,json] |
| ---- |
| "statistic":{ |
| "highwatermark":highest-value, |
| "lowwatermark":lowest-value, |
| "current":current-value |
| "lastsampletime":last-sample-time, |
| "description":"description", |
| "unit":"unit", |
| "name":"name", |
| "starttime":start-time |
| } |
| ---- |
| |
| The replaceable items in these formats are as follows: |
| |
| statistic:: |
| The name of the statistic. |
| count:: |
| Counter statistics only: The current value of the statistic. |
| highest-value:: |
| Range statistics only: The highest value of the statistic since |
| monitoring of the statistic began. |
| lowest-value:: |
| Range statistics only: The lowest value of the statistic since |
| monitoring of the statistic began. |
| current-value:: |
| Range statistics only: The lowest value of the statistic since |
| monitoring of the statistic began. |
| last-sample-time:: |
| The time in UNIX time at which the statistic was last sampled. |
| description:: |
| A textual description of what the statistic represents. |
| unit:: |
| The unit of measurement of the statistic, which is one of the |
| following units of measurement: |
| + |
| `count`;; |
| The cumulative value of an attribute that increases with time. |
| `range`;; |
| The lowest value, highest value, and current value of an attribute |
| that can increase or decrease with time. |
| `boundedrange`;; |
| The lowest value, highest value, and current value of an attribute |
| that can increase or decrease with time and has fixed limits. |
| `string`;; |
| A string that represents an attribute value. A string statistic is |
| similar to a count, except that the values are not ordered. |
| Typically, a string statistic represents the state of an object, for |
| example, `CONNECTED`, `CLOSED`, or `DISCONNECTED`. |
| `time`;; |
| Values of an attribute that provide the following timing |
| measurements for an operation: |
| + |
| * The number of times the operation was performed. |
| * The maximum amount of time to perform the operation once. |
| * The minimum amount of time to perform the operation once. |
| * The total amount of time that has been spent performing the |
| operation. |
| * The average amount of time to perform the operation. |
| name:: |
| The name of the statistic as displayed in client applications that |
| access the resource that contains the statistic. |
| start-time:: |
| The time in UNIX time at which monitoring of the statistic began. |
| |
| [[gkwht]][[GSADG00033]][[example-json-resource-representation-for-a-monitoring-object]] |
| |
| Example JSON Resource Representation for a Monitoring Object |
| |
| This example shows the JSON representation of the monitoring object that |
| provides class loader statistics for the virtual machine for the Java |
| platform. In this example, the DAS is running on the local host and the |
| HTTP port for administration is 4848. The URL to the resource in this |
| example is |
| `http://localhost:4848/monitoring/domain/server/jvm/class-loading-system`. |
| |
| Line breaks and white space are added to enhance readability. |
| |
| [source,json] |
| ---- |
| { |
| "message":"", |
| "command":"Monitoring Data", |
| "exit_code":"SUCCESS", |
| "extraProperties":{ |
| "entity":{ |
| "loadedclass-count":{ |
| "count":8521, |
| "lastsampletime":1300726961018, |
| "description":"Number of classes currently loaded in the Java virtual |
| machine", |
| "unit":"count", |
| "name":"LoadedClassCount", |
| "starttime":1300483924126 |
| }, |
| "totalloadedclass-count":{ |
| "count":8682, |
| "lastsampletime":1300726961018, |
| "description":"Total number of classes that have been loaded since the |
| Java virtual machine has started execution", |
| "unit":"count", |
| "name":"TotalLoadedClassCount", |
| "starttime":1300483924127 |
| }, |
| "unloadedclass-count":{ |
| "count":161, |
| "lastsampletime":1300726961018, |
| "description":"Total number of classes unloaded since the Java virtual |
| machine has started execution", |
| "unit":"count", |
| "name":"UnLoadedClassCount", |
| "starttime":1300483924127 |
| } |
| },"childResources":{} |
| } |
| } |
| ---- |
| |
| [[gkwew]][[GSADG00640]][[xml-resource-representation-for-monitoring-objects]] |
| |
| ===== XML Resource Representation for Monitoring Objects |
| |
| The general format for the XML representation of a resource for a |
| monitoring object is as follows: |
| |
| [source,xml] |
| ---- |
| <?xml version="1.0" encoding="UTF-8"?> |
| <map> |
| <entry key="extraProperties"> |
| <map> |
| <entry key="entity"> |
| <map> |
| statistics |
| </map> |
| </entry> |
| <entry key="childResources"> |
| <map> |
| children |
| </map> |
| </entry> |
| </map> |
| </entry> |
| <entry key="message" value=""></entry> |
| <entry key="exit_code" value="code"></entry> |
| <entry key="command" value="Monitoring Data"></entry> |
| </map> |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| statistics:: |
| Zero or more XML elements that represent the statistics that the |
| monitoring object provides. For the format of each element, see |
| link:#gkwjv[XML Representation of a Statistic]. |
| children:: |
| Zero or more XML elements that represent the children of the resource. |
| Each element is specified as follows: |
| + |
| [source,xml] |
| ---- |
| <entry key="resource-name" value="url"></entry> |
| ---- |
| resource-name;; |
| The name of the resource as displayed in client applications that |
| access the parent of the resource. |
| url;; |
| The URL to the child resource. |
| code:: |
| The result of the attempt to get the resource. |
| |
| [[gkwjv]][[GSADG00034]][[xml-representation-of-a-statistic]] |
| |
| XML Representation of a Statistic |
| |
| The XML representation of a counter statistic is as follows: |
| |
| [source,xml] |
| ---- |
| <entry key="statistic"> |
| <map> |
| <entry key="unit" value="unit"></entry> |
| <entry key="starttime"> |
| <number>start-time</number> |
| </entry> |
| <entry key="count"> |
| <number>count</number> |
| </entry> |
| <entry key="description" value="description"></entry> |
| <entry key="name" value="name"></entry> |
| <entry key="lastsampletime"> |
| <number>last-sample-time</number> |
| </entry> |
| </map> |
| </entry> |
| ---- |
| |
| The XML representation of a range statistic is as follows: |
| |
| [source,xml] |
| ---- |
| <entry key="statistic"> |
| <map> |
| <entry key="unit" value="unit"></entry> |
| <entry key="starttime"> |
| <number>start-time</number> |
| </entry> |
| <entry key="highwatermark"> |
| <number>highest-value</number> |
| </entry> |
| <entry key="lowwatermark"> |
| <number>lowest-value</number> |
| </entry> |
| <entry key="current"> |
| <number>current-value</number> |
| </entry> |
| <entry key="description" value="description"></entry> |
| <entry key="name" value="name"></entry> |
| <entry key="lastsampletime"> |
| <number>last-sample-time</number> |
| </entry> |
| </map> |
| </entry> |
| ---- |
| |
| The replaceable items in these formats are as follows: |
| |
| statistic:: |
| The name of the statistic. |
| unit:: |
| The unit of measurement of the statistic, which is one of the |
| following units of measurement: |
| + |
| `count`;; |
| The cumulative value of an attribute that increases with time. |
| `range`;; |
| The lowest value, highest value, and current value of an attribute |
| that can increase or decrease with time. |
| `boundedrange`;; |
| The lowest value, highest value, and current value of an attribute |
| that can increase or decrease with time and has fixed limits. |
| `string`;; |
| A string that represents an attribute value. A string statistic is |
| similar to a count, except that the values are not ordered. |
| Typically, a string statistic represents the state of an object, for |
| example, `CONNECTED`, `CLOSED`, or `DISCONNECTED`. |
| `time`;; |
| Values of an attribute that provide the following timing |
| measurements for an operation: |
| + |
| * The number of times the operation was performed. |
| * The maximum amount of time to perform the operation once. |
| * The minimum amount of time to perform the operation once. |
| * The total amount of time that has been spent performing the |
| operation. |
| * The average amount of time to perform the operation. |
| start-time:: |
| The in time in UNIX time at which monitoring of the statistic began. |
| count:: |
| Counter statistics only: The current value of the statistic. |
| highest-value:: |
| Range statistics only: The highest value of the statistic since |
| monitoring of the statistic began. |
| lowest-value:: |
| Range statistics only: The lowest value of the statistic since |
| monitoring of the statistic began. |
| current-value:: |
| Range statistics only: The lowest value of the statistic since |
| monitoring of the statistic began. |
| description:: |
| A textual description of what the statistic represents. |
| name:: |
| The name of the statistic as displayed in client applications that |
| access the resource that contains the statistic. |
| last-sample-time:: |
| The time in UNIX time at which the statistic was last sampled. |
| |
| [[gkwhz]][[GSADG00035]][[example-xml-resource-representation-for-a-monitoring-object]] |
| |
| Example XML Resource Representation for a Monitoring Object |
| |
| This example shows the XML representation of the monitoring object that |
| provides class loader statistics for the virtual machine for the Java |
| platform. In this example, the DAS is running on the local host and the |
| HTTP port for administration is 4848. The URL to the resource in this |
| example is |
| `http://localhost:4848/monitoring/domain/server/jvm/class-loading-system`. |
| |
| Line breaks and white space are added to enhance readability. |
| |
| [source,xml] |
| ---- |
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <map> |
| <entry key="extraProperties"> |
| <map> |
| <entry key="entity"> |
| <map> |
| <entry key="unloadedclass-count"> |
| <map> |
| <entry key="unit" value="count"/> |
| <entry key="starttime"> |
| <number>1300483924127</number> |
| </entry><entry key="count"> |
| <number>161</number> |
| </entry> |
| <entry key="description" value="Total number of classes unloaded since |
| the Java virtual machine has started execution"/> |
| <entry key="name" value="UnLoadedClassCount"/> |
| <entry key="lastsampletime"> |
| <number>1300726989505</number> |
| </entry> |
| </map> |
| </entry> |
| <entry key="totalloadedclass-count"> |
| <map> |
| <entry key="unit" value="count"/> |
| <entry key="starttime"> |
| <number>1300483924127</number> |
| </entry> |
| <entry key="count"> |
| number>8682</number> |
| </entry> |
| <entry key="description" value="Total number of classes that have been |
| loaded since the Java virtual machine has started execution"/> |
| <entry key="name" value="TotalLoadedClassCount"/> |
| <entry key="lastsampletime"> |
| <number>1300726989505</number> |
| </entry> |
| </map> |
| </entry> |
| <entry key="loadedclass-count"> |
| <map> |
| <entry key="unit" value="count"/> |
| <entry key="starttime"> |
| <number>1300483924126</number> |
| </entry><entry key="count"> |
| <number>8521</number> |
| </entry> |
| <entry key="description" value="Number of classes currently loaded in |
| the Java virtual machine"/> |
| <entry key="name" value="LoadedClassCount"/> |
| <entry key="lastsampletime"> |
| <number>1300726989505</number> |
| </entry> |
| </map> |
| </entry> |
| </map> |
| </entry> |
| <entry key="childResources"> |
| <map/> |
| </entry> |
| </map> |
| </entry> |
| <entry key="message" value=""/> |
| <entry key="exit_code" value="SUCCESS"/> |
| <entry key="command" value="Monitoring Data"/> |
| </map> |
| ---- |
| |
| [[gkwij]][[GSADG00641]][[html-resource-representation-for-monitoring-objects]] |
| |
| ===== HTML Resource Representation for Monitoring Objects |
| |
| The format for the HTML representation of a resource for a monitoring |
| object is a web page that provides the following information about the |
| resource: |
| |
| * A list of the statistics that the resource provides. |
| * A list of hypertext links to the children of the resource. |
| |
| The following figure shows the web page for the REST resource that |
| provides class loader statistics for the virtual machine for the Java |
| platform. |
| |
| [[GSADG00002]][[gkwku]] |
| |
| |
| .*Figure 2-2 Web Page for the REST Resource That Provides Class Loader Statistics* |
| image:img/rest-monitoring.png[ |
| "Screen capture showing the web page for the REST resource that provides |
| class loader statistics."] |
| |
| |
| [[gkwid]][[GSADG00713]][[formats-for-resource-representation-of-log-file-details]] |
| |
| ==== Formats for Resource Representation of Log File Details |
| |
| The {productName} REST interfaces represent resources for log file |
| details in the following formats: |
| |
| * http://www.json.org/[JSON] |
| * XML |
| |
| [[gkwnp]][[GSADG00642]][[json-resource-representation-for-log-file-details]] |
| |
| ===== JSON Resource Representation for Log File Details |
| |
| The general format for the JSON representation of a resource for log |
| file details is as follows: |
| |
| [source,json] |
| ---- |
| { |
| "records": [ |
| record-list |
| ] |
| } |
| ---- |
| |
| The replaceable item in this format is the record-list, which is one or |
| more metadata sets separated by a comma (`,`) that represent the log |
| records in the log file. For the format of each metadata set, see |
| link:#gkwme[JSON Representation of a Log Record in a Record List]. |
| |
| [[gkwme]][[GSADG00036]][[json-representation-of-a-log-record-in-a-record-list]] |
| |
| JSON Representation of a Log Record in a Record List |
| |
| The JSON representation of a log record in a record list is as follows: |
| |
| [source,json] |
| ---- |
| { |
| "recordNumber":record-number, |
| "loggedDateTimeInMS":logged-date, |
| "loggedLevel":"log-level", |
| "productName":"product-name", |
| "loggerName":"logger-class-name", |
| "nameValuePairs":"_ThreadID=thread-id;_ThreadName=thread-name;", |
| "messageID":"message-id", |
| "Message":"message-text" |
| } |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| record-number:: |
| A serial number in the form of a decimal integer that uniquely |
| identifies the log record. |
| logged-date:: |
| The date and time in UNIX time that the record was created. |
| log-level:: |
| The severity level of the message in the log record. For more |
| information, see link:logging.html#gklml[Setting Log Levels]. |
| product-name:: |
| The application that created the log message, for example, `glassfish7`. |
| logger-class-name:: |
| The fully qualified name of the Java class of the logger class that |
| created the log message. Each component of {productName} provides |
| its own logger class. For detailed information about the names of |
| logger classes in {productName}, see link:logging.html#gkres[Logger |
| Namespaces]. |
| thread-id:: |
| The numerical identifier of the thread that created the message. |
| thread-name:: |
| The name of the thread that created the message. |
| message-id:: |
| A unique identifier for the message. For messages from {productName}, this identifier consists of a module code and a numerical |
| value, for example, `CORE5004`. All `SEVERE` and `WARNING` messages |
| and some `INFO` messages from {productName} contain a message |
| identifier. For more information, see the |
| link:error-messages-reference.html#GSEMR[ |
| {productName} Error Message Reference]. |
| message-text:: |
| The text of the log message. |
| |
| [[gkwoz]][[GSADG00037]][[example-json-resource-representation-for-log-file-details]] |
| |
| Example JSON Resource Representation for Log File Details |
| |
| This example shows the JSON representation of the resource for log file |
| details. In this example, the DAS is running on the local host and the |
| HTTP port for administration is 4848. The URL to the resource in this |
| example is `http://localhost:4848/management/domain/view-log/details`. |
| |
| Line breaks and white space are added to enhance readability. |
| |
| [source,json] |
| ---- |
| { |
| "records": [ |
| { |
| "recordNumber":475, |
| "loggedDateTimeInMS":1300743782815, |
| "loggedLevel":"INFO", |
| "productName":"glassfish7", |
| "loggerName":"org.glassfish.admingui", |
| "nameValuePairs": "_ThreadID=25;_ThreadName=Thread-1;", |
| "messageID":"", |
| "Message":"Admin Console: Initializing Session Attributes..." |
| }, |
| { |
| "recordNumber":474, |
| "loggedDateTimeInMS":1300728893368, |
| "loggedLevel":"INFO", |
| "productName":"glassfish7", |
| "loggerName":"jakarta.enterprise.system.core.com.sun.enterprise.v3.admin.adapter", |
| "nameValuePairs":"_ThreadID=238;_ThreadName=Thread-1;", |
| "messageID":"", |
| "Message":"The Admin Console application is loaded." |
| }, |
| { |
| "recordNumber":473, |
| "loggedDateTimeInMS":1300728893367, |
| "loggedLevel":"INFO", |
| "productName":"glassfish7", |
| "loggerName":"jakarta.enterprise.system.core.com.sun.enterprise.v3.server", |
| "nameValuePairs":"_ThreadID=238;_ThreadName=Thread-1;", |
| "messageID":"CORE10010", |
| "Message":" Loading application __admingui done in 40,063 ms" |
| } |
| ] |
| } |
| ---- |
| |
| [[gkwmi]][[GSADG00643]][[xml-resource-representation-for-log-file-details]] |
| |
| ===== XML Resource Representation for Log File Details |
| |
| The general format for the XML representation of a resource for log file |
| details is as follows: |
| |
| [source,xml] |
| ---- |
| <records> |
| records |
| </records> |
| ---- |
| |
| The replaceable item in this format is the records, which is one or more |
| XML elements that represent the log records in the log file. For the |
| format of each element, see link:#gkwot[XML Representation of a Log |
| Record]. |
| |
| [[gkwot]][[GSADG00038]][[xml-representation-of-a-log-record]] |
| |
| XML Representation of a Log Record |
| |
| The XML representation of a log record is as follows: |
| |
| [source,xml] |
| ---- |
| <record loggedDateTimeInMS="logged-date" loggedLevel="log-level" |
| loggerName="logger-class-name" messageID="message-id" |
| nameValuePairs="_ThreadID=thread-id;_thread-name;" productName="product-name" |
| recordNumber="record-number"/> |
| ---- |
| |
| The replaceable items in this format are as follows: |
| |
| logged-date:: |
| The date and time in UNIX time that the record was created. |
| log-level:: |
| The severity level of the message in the log record. For more |
| information, see link:logging.html#gklml[Setting Log Levels]. |
| logger-class-name:: |
| The fully qualified name of the Java class of the logger class that |
| created the log message. Each component of {productName} provides |
| its own logger class. For detailed information about the names of |
| logger classes in {productName}, see link:logging.html#gkres[Logger |
| Namespaces]. |
| message-id:: |
| A unique identifier for the message. For messages from {productName}, this identifier consists of a module code and a numerical |
| value, for example, `CORE5004`. All `SEVERE` and `WARNING` messages |
| and some `INFO` messages from {productName} contain a message |
| identifier. For more information, see the link:error-messages-reference.html#GSEMR[{productName} Error Message Reference]. |
| thread-id:: |
| The numerical identifier of the thread that created the message. |
| thread-name:: |
| The name of the thread that created the message. |
| product-name:: |
| The application that created the log message, for example, |
| `glassfish7`. |
| record-number:: |
| A serial number in the form of a decimal integer that uniquely |
| identifies the log record. |
| |
| [[gkwoq]][[GSADG00039]][[example-xml-resource-representation-for-log-file-details]] |
| |
| Example XML Resource Representation for Log File Details |
| |
| This example shows the XML representation of the resource for log file |
| details. In this example, the DAS is running on the local host and the |
| HTTP port for administration is 4848. The URL to the resource in this |
| example is `http://localhost:4848/management/domain/view-log/details`. |
| |
| Line breaks and white space are added to enhance readability. |
| |
| [source,xml] |
| ---- |
| <records> |
| <record loggedDateTimeInMS="1300743782815" loggedLevel="INFO" |
| loggerName="org.glassfish.admingui" messageID="" |
| nameValuePairs="_ThreadID=25;_ThreadName=Thread-1;" |
| productName="glassfish7" recordNumber="475"/> |
| <record loggedDateTimeInMS="1300728893368" loggedLevel="INFO" |
| loggerName="jakarta.enterprise.system.core.com.sun.enterprise.v3.admin.adapter" |
| messageID="" nameValuePairs="_ThreadID=238;_ThreadName=Thread-1;" |
| productName="glassfish7" recordNumber="474"/> |
| <record loggedDateTimeInMS="1300728893367" loggedLevel="INFO" |
| loggerName="jakarta.enterprise.system.core.com.sun.enterprise.v3.server" |
| messageid="core10010" nameValuePairs="_ThreadID=238;_ThreadName=Thread-1;" |
| productName="glassfish7" recordNumber="473"/> |
| </records> |
| ---- |
| |
| [[gkwsq]][[GSADG00714]][[supported-content-types-in-requests-to-rest-resources]] |
| |
| ==== Supported Content Types in Requests to REST Resources |
| |
| The {productName} REST interfaces support the following types in the |
| content-type header of a client request: |
| |
| * http://www.json.org/[JSON] |
| * XML |
| * http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1[Form URL |
| encoded] |
| |
| How to specify the type in the content-type header depends on how you |
| are sending the request. For example, if you are using the cURL utility, |
| specify the type through the `-H` option as follows: |
| |
| * For JSON, specify `-H "Content-type: application/json"`. |
| * For XML, specify `-H "Content-type: application/xml"`. |
| * For form URL encoded, specify |
| `-H "Content-type: application/x-www-form-urlencoded"`. |
| |
| |